Hotline Wiki u131114995_FYryq https://hlwiki.com/index.php/Main_Page MediaWiki 1.40.2 first-letter Media Special Talk User User talk HL Wiki HL Wiki talk File File talk MediaWiki MediaWiki talk Template Template talk Help Help talk Category Category talk Main Page 0 1 1 2023-10-09T21:35:45Z MediaWiki default 2 wikitext text/x-wiki <strong>MediaWiki has been installed.</strong> Consult the [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Contents User's Guide] for information on using the wiki software. == Getting started == * [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Configuration_settings Configuration settings list] * [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ MediaWiki FAQ] * [https://lists.wikimedia.org/postorius/lists/mediawiki-announce.lists.wikimedia.org/ MediaWiki release mailing list] * [https://www.mediawiki.org/wiki/Special:MyLanguage/Localisation#Translation_resources Localise MediaWiki for your language] * [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Combating_spam Learn how to combat spam on your wiki] 11cef88175cf81168a86e7c0327a5b2d7a1920f5 5 1 2023-11-05T14:04:17Z 65.21.239.109 0 wikitext text/x-wiki <strong>MediaWiki has been installed.</strong> Consult the [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Contents User's Guide] for information on using the wiki software. == Getting started == * [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Configuration_settings Configuration settings list] * [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ MediaWiki FAQ] * [https://lists.wikimedia.org/postorius/lists/mediawiki-announce.lists.wikimedia.org/ MediaWiki release mailing list] * [https://www.mediawiki.org/wiki/Special:MyLanguage/Localisation#Translation_resources Localise MediaWiki for your language] * [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Combating_spam Learn how to combat spam on your wiki] [https://kt.limaderan.co.ua/%ec%95%84%eb%85%b8-%ed%95%98%eb%82%98/ 녹스 구글 계정 무한] f799662145ea8d7cbbb8e717c5523a3cfd9367cc 34 5 2024-01-03T14:38:24Z Lostarch 1 wikitext text/x-wiki <center>Welcome to the Hotline Wiki</center>Hotline Wiki is a collaboration of everyone on the Hotline community. We intend to document everything Hotline, from servers that made history, protocol and community information and history to current servers, latest news and developments, as well as to provide useful information to newcomers getting started with Hotline, including how to start and run their own server. [[File:800px-Hotline.png|thumb|228px|right|Example of how Hotline Works.]] We are looking for individuals that currently reside on Hotline, so please step forward and assist us in this effort. Hosting for downloads will be provided offsite by contacting Tagban. We are also looking to build a nice sized database of '''all''' possible clients, servers and trackers, as well as the source code that goes with them, working on moving Hotline forward into a new era, and to encourage more developers to step forward and work on related projects. Thanks to some new projects being pushed ahead, we're starting to ramp up documentation to ensure that newer clients get the proper protocol specs to enable them to work with both old AND new servers. One advancement recently was within the client "[[Pitbull Pro]]" which added the ability to handle files larger than 4GB. Further information can be found on the Hotline server hosted by UberFox, or on the website linked to from the [[clients]] page. ~Tagban/LostArch ===Navigating this wiki=== If you can't find what you are looking for, you might want to check the [[Special:AllPages|page index]]. ==Hotline Clients== One of our goals is to bring up the development of Hotline clients. You can take a look at the clients that there are currently available and in development in the [[Clients|clients]] page. There are two clients currently being worked on. One for Mac OS X and another for Windows (although written in Qt). A third client has begun being developed as a remake of the old "Pitbull Pro" but remastered for Windows. You can find this download link also on the [[clients]] page. You can connect to his server, [http://hltracker.com hltracker.com] for more information. Want to see the list of trackers? Or run one of your own? Check out our [[Trackers]] page. 3e5c811c3bf064c187e42246d3757b47b9045e96 37 34 2024-01-03T14:41:58Z Lostarch 1 wikitext text/x-wiki <center>Welcome to the Hotline Wiki</center>Hotline Wiki is a collaboration of everyone on the Hotline community. We intend to document everything Hotline, from servers that made history, protocol and community information and history to current servers, latest news and developments, as well as to provide useful information to newcomers getting started with Hotline, including how to start and run their own server. [[File:800px-Hotline.png|thumb|228px|right|Example of how Hotline Works.]] We are looking for individuals that currently reside on Hotline, so please step forward and assist us in this effort. Hosting for downloads will be provided offsite by contacting Tagban. We are also looking to build a nice sized database of '''all''' possible clients, servers and trackers, as well as the source code that goes with them, working on moving Hotline forward into a new era, and to encourage more developers to step forward and work on related projects. I've finally had time to move this data from fandom to an actual hosted wiki (with no ads!). So enjoy that! I'm also working on backing up my full list of client versions onto here, so that they'll be preserved. These are both new and old clients, servers, trackers, and some other tools/bots I've held onto over the years. Coming soon by March 2024! ~Tagban/LostArch ===Navigating this wiki=== If you can't find what you are looking for, you might want to check the [[Special:AllPages|page index]]. ==Hotline Clients== One of our goals is to bring up the development of Hotline clients. You can take a look at the clients that there are currently available and in development in the [[Clients|clients]] page. There are two clients currently being worked on. One for Mac OS X and another for Windows (although written in Qt). A third client has begun being developed as a remake of the old "Pitbull Pro" but remastered for Windows. You can find this download link also on the [[clients]] page. You can connect to his server, [http://hltracker.com hltracker.com] for more information. Want to see the list of trackers? Or run one of your own? Check out our [[Trackers]] page. edc84cc486a58701b7b33615a14913c31f18a912 53 37 2024-01-03T15:21:31Z Lostarch 1 Protected "[[Main Page]]" ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)) wikitext text/x-wiki <center>Welcome to the Hotline Wiki</center>Hotline Wiki is a collaboration of everyone on the Hotline community. We intend to document everything Hotline, from servers that made history, protocol and community information and history to current servers, latest news and developments, as well as to provide useful information to newcomers getting started with Hotline, including how to start and run their own server. [[File:800px-Hotline.png|thumb|228px|right|Example of how Hotline Works.]] We are looking for individuals that currently reside on Hotline, so please step forward and assist us in this effort. Hosting for downloads will be provided offsite by contacting Tagban. We are also looking to build a nice sized database of '''all''' possible clients, servers and trackers, as well as the source code that goes with them, working on moving Hotline forward into a new era, and to encourage more developers to step forward and work on related projects. I've finally had time to move this data from fandom to an actual hosted wiki (with no ads!). So enjoy that! I'm also working on backing up my full list of client versions onto here, so that they'll be preserved. These are both new and old clients, servers, trackers, and some other tools/bots I've held onto over the years. Coming soon by March 2024! ~Tagban/LostArch ===Navigating this wiki=== If you can't find what you are looking for, you might want to check the [[Special:AllPages|page index]]. ==Hotline Clients== One of our goals is to bring up the development of Hotline clients. You can take a look at the clients that there are currently available and in development in the [[Clients|clients]] page. There are two clients currently being worked on. One for Mac OS X and another for Windows (although written in Qt). A third client has begun being developed as a remake of the old "Pitbull Pro" but remastered for Windows. You can find this download link also on the [[clients]] page. You can connect to his server, [http://hltracker.com hltracker.com] for more information. Want to see the list of trackers? Or run one of your own? Check out our [[Trackers]] page. edc84cc486a58701b7b33615a14913c31f18a912 62 53 2024-01-03T16:19:40Z Lostarch 1 wikitext text/x-wiki <center>Welcome to the Hotline Wiki</center>Hotline Wiki is a collaboration of everyone on the Hotline community. We intend to document everything Hotline, from servers that made history, protocol and community information and history to current servers, latest news and developments, as well as to provide useful information to newcomers getting started with Hotline, including how to start and run their own server. [[File:800px-Hotline.png|thumb|228px|right|Example of how Hotline Works.]] We are looking for individuals that currently reside on Hotline, so please step forward and assist us in this effort. Hosting for downloads will be provided offsite by contacting Tagban. We are also looking to build a nice sized database of '''all''' possible clients, servers and trackers, as well as the source code that goes with them, working on moving Hotline forward into a new era, and to encourage more developers to step forward and work on related projects. I've finally had time to move this data from fandom to an actual hosted wiki (with no ads!). So enjoy that! I'm also working on backing up my full list of client versions onto here, so that they'll be preserved. These are both new and old clients, servers, trackers, and some other tools/bots I've held onto over the years. Coming soon by March 2024! ~Tagban/LostArch ===Navigating this wiki=== If you can't find what you are looking for, you might want to check the [[Special:AllPages|page index]]. ==Hotline Clients== One of our goals is to bring up the development of Hotline clients. You can take a look at the clients that there are currently available and in development in the [[Clients|clients]] page. This is ever changing as new projects come and old ones slowly die off. We will be mirroring all downloads moving forward to ensure there are backups to preserve the old and also bring in the new. ==Hotline Servers== ==Hotline Trackers== ==Hotline Tools== ==Developers Developers Developers Developers..== Hotline [[Category:Development|Development]] is critical to continue to track so that we preserve not only the original structure, but helping new developers to have reference data as needed. This also includes [[Open Source Hotline]] which is a collection of both active and inactive projects for any aspect of Hotline that can help you understand more about the structure as you look at it. b8c55c478072b3f2caa22c29f21e5e245b7a2853 63 62 2024-01-03T16:19:59Z Lostarch 1 /* Developers Developers Developers Developers.. */ wikitext text/x-wiki <center>Welcome to the Hotline Wiki</center>Hotline Wiki is a collaboration of everyone on the Hotline community. We intend to document everything Hotline, from servers that made history, protocol and community information and history to current servers, latest news and developments, as well as to provide useful information to newcomers getting started with Hotline, including how to start and run their own server. [[File:800px-Hotline.png|thumb|228px|right|Example of how Hotline Works.]] We are looking for individuals that currently reside on Hotline, so please step forward and assist us in this effort. Hosting for downloads will be provided offsite by contacting Tagban. We are also looking to build a nice sized database of '''all''' possible clients, servers and trackers, as well as the source code that goes with them, working on moving Hotline forward into a new era, and to encourage more developers to step forward and work on related projects. I've finally had time to move this data from fandom to an actual hosted wiki (with no ads!). So enjoy that! I'm also working on backing up my full list of client versions onto here, so that they'll be preserved. These are both new and old clients, servers, trackers, and some other tools/bots I've held onto over the years. Coming soon by March 2024! ~Tagban/LostArch ===Navigating this wiki=== If you can't find what you are looking for, you might want to check the [[Special:AllPages|page index]]. ==Hotline Clients== One of our goals is to bring up the development of Hotline clients. You can take a look at the clients that there are currently available and in development in the [[Clients|clients]] page. This is ever changing as new projects come and old ones slowly die off. We will be mirroring all downloads moving forward to ensure there are backups to preserve the old and also bring in the new. ==Hotline Servers== ==Hotline Trackers== ==Hotline Tools== ==Developers Developers Developers Developers..== Hotline [[Development]] is critical to continue to track so that we preserve not only the original structure, but helping new developers to have reference data as needed. This also includes [[Open Source Hotline]] which is a collection of both active and inactive projects for any aspect of Hotline that can help you understand more about the structure as you look at it. d69fbb2944e1ca79e32c280d1e3d4468407da10a 64 63 2024-01-03T16:22:33Z Lostarch 1 /* Hotline Servers */ wikitext text/x-wiki <center>Welcome to the Hotline Wiki</center>Hotline Wiki is a collaboration of everyone on the Hotline community. We intend to document everything Hotline, from servers that made history, protocol and community information and history to current servers, latest news and developments, as well as to provide useful information to newcomers getting started with Hotline, including how to start and run their own server. [[File:800px-Hotline.png|thumb|228px|right|Example of how Hotline Works.]] We are looking for individuals that currently reside on Hotline, so please step forward and assist us in this effort. Hosting for downloads will be provided offsite by contacting Tagban. We are also looking to build a nice sized database of '''all''' possible clients, servers and trackers, as well as the source code that goes with them, working on moving Hotline forward into a new era, and to encourage more developers to step forward and work on related projects. I've finally had time to move this data from fandom to an actual hosted wiki (with no ads!). So enjoy that! I'm also working on backing up my full list of client versions onto here, so that they'll be preserved. These are both new and old clients, servers, trackers, and some other tools/bots I've held onto over the years. Coming soon by March 2024! ~Tagban/LostArch ===Navigating this wiki=== If you can't find what you are looking for, you might want to check the [[Special:AllPages|page index]]. ==Hotline Clients== One of our goals is to bring up the development of Hotline clients. You can take a look at the clients that there are currently available and in development in the [[Clients|clients]] page. This is ever changing as new projects come and old ones slowly die off. We will be mirroring all downloads moving forward to ensure there are backups to preserve the old and also bring in the new. ==Hotline Servers== [[Servers]] are what allow the entire system to work. ANYONE can host a Hotline Server. They were designed to be run on Dial-Up, with minimum resources. The key is opening up your ports. Typically 5500 but this CAN be customized on the server side. Understanding of course that someone trying to connect to your server would have to then know the exact port. OR! They can list the server on a [[Trackers|tracker]]. ==Hotline Trackers== ==Hotline Tools== ==Developers Developers Developers Developers..== Hotline [[Development]] is critical to continue to track so that we preserve not only the original structure, but helping new developers to have reference data as needed. This also includes [[Open Source Hotline]] which is a collection of both active and inactive projects for any aspect of Hotline that can help you understand more about the structure as you look at it. 85af3672fe9ffae87b0e0f27128109baa1a0eefc 66 64 2024-01-03T16:25:16Z Lostarch 1 /* Hotline Trackers */ wikitext text/x-wiki <center>Welcome to the Hotline Wiki</center>Hotline Wiki is a collaboration of everyone on the Hotline community. We intend to document everything Hotline, from servers that made history, protocol and community information and history to current servers, latest news and developments, as well as to provide useful information to newcomers getting started with Hotline, including how to start and run their own server. [[File:800px-Hotline.png|thumb|228px|right|Example of how Hotline Works.]] We are looking for individuals that currently reside on Hotline, so please step forward and assist us in this effort. Hosting for downloads will be provided offsite by contacting Tagban. We are also looking to build a nice sized database of '''all''' possible clients, servers and trackers, as well as the source code that goes with them, working on moving Hotline forward into a new era, and to encourage more developers to step forward and work on related projects. I've finally had time to move this data from fandom to an actual hosted wiki (with no ads!). So enjoy that! I'm also working on backing up my full list of client versions onto here, so that they'll be preserved. These are both new and old clients, servers, trackers, and some other tools/bots I've held onto over the years. Coming soon by March 2024! ~Tagban/LostArch ===Navigating this wiki=== If you can't find what you are looking for, you might want to check the [[Special:AllPages|page index]]. ==Hotline Clients== One of our goals is to bring up the development of Hotline clients. You can take a look at the clients that there are currently available and in development in the [[Clients|clients]] page. This is ever changing as new projects come and old ones slowly die off. We will be mirroring all downloads moving forward to ensure there are backups to preserve the old and also bring in the new. ==Hotline Servers== [[Servers]] are what allow the entire system to work. ANYONE can host a Hotline Server. They were designed to be run on Dial-Up, with minimum resources. The key is opening up your ports. Typically 5500 but this CAN be customized on the server side. Understanding of course that someone trying to connect to your server would have to then know the exact port. OR! They can list the server on a [[Trackers|tracker]]. ==Hotline Trackers== [[Trackers]] are what empower the servers to be visible to everyone else. A server connects to a [[Trackers|tracker]] and shares its IP address/Port/Server name/# of users at that moment, etc. This allows users to look at the [[servers list]] in any one tracker, and decide which to go to. ==Hotline Tools== ==Developers Developers Developers Developers..== Hotline [[Development]] is critical to continue to track so that we preserve not only the original structure, but helping new developers to have reference data as needed. This also includes [[Open Source Hotline]] which is a collection of both active and inactive projects for any aspect of Hotline that can help you understand more about the structure as you look at it. 12004f24da847ad2d27e452dc4c779cef9da59da 68 66 2024-01-03T16:33:07Z Lostarch 1 wikitext text/x-wiki <center>Welcome to the Hotline Wiki</center>Hotline Wiki is a collaboration of everyone on the Hotline community. We intend to document everything Hotline, from servers that made history, protocol and community information and history to current servers, latest news and developments, as well as to provide useful information to newcomers getting started with Hotline, including how to start and run their own server. [[File:800px-Hotline.png|thumb|228x228px]] We are looking for individuals that currently reside on Hotline, so please step forward and assist us in this effort. Hosting for downloads will be provided offsite by contacting Tagban. We are also looking to build a nice sized database of '''all''' possible clients, servers and trackers, as well as the source code that goes with them, working on moving Hotline forward into a new era, and to encourage more developers to step forward and work on related projects. I've finally had time to move this data from fandom to an actual hosted wiki (with no ads!). So enjoy that! I'm also working on backing up my full list of client versions onto here, so that they'll be preserved. These are both new and old clients, servers, trackers, and some other tools/bots I've held onto over the years. Coming soon by March 2024! ~Tagban/LostArch ===Navigating this wiki=== If you can't find what you are looking for, you might want to check the [[Special:AllPages|page index]]. ==Hotline Clients== One of our goals is to bring up the development of Hotline clients. You can take a look at the clients that there are currently available and in development in the [[Clients|clients]] page. This is ever changing as new projects come and old ones slowly die off. We will be mirroring all downloads moving forward to ensure there are backups to preserve the old and also bring in the new. ==Hotline Servers== [[Servers]] are what allow the entire system to work. ANYONE can host a Hotline Server. They were designed to be run on Dial-Up, with minimum resources. The key is opening up your ports. Typically 5500 but this CAN be customized on the server side. Understanding of course that someone trying to connect to your server would have to then know the exact port. OR! They can list the server on a [[Trackers|tracker]]. ==Hotline Trackers== [[Trackers]] are what empower the servers to be visible to everyone else. A server connects to a [[Trackers|tracker]] and shares its IP address/Port/Server name/# of users at that moment, etc. This allows users to look at the [[servers list]] in any one tracker, and decide which to go to. ==Hotline Tools== ==Developers Developers Developers Developers..== Hotline [[Development]] is critical to continue to track so that we preserve not only the original structure, but helping new developers to have reference data as needed. This also includes [[Open Source Hotline]] which is a collection of both active and inactive projects for any aspect of Hotline that can help you understand more about the structure as you look at it. 2463d08624a86a4401bc2923945d38f9c502a67d HL Wiki:About 4 2 2 2023-10-09T21:48:11Z Lostarch 1 Created page with "This wiki is designed to directly replace the old Hotline wikia, as well as be more controlled by the commmunity, ZERO ads. And with an end goal of extending the Hotline Protocol beyond the 1.0 limits to allow more modern day options that don't take away from the historic software awesomeness that is Hotline." wikitext text/x-wiki This wiki is designed to directly replace the old Hotline wikia, as well as be more controlled by the commmunity, ZERO ads. And with an end goal of extending the Hotline Protocol beyond the 1.0 limits to allow more modern day options that don't take away from the historic software awesomeness that is Hotline. 84851778312130e4f6e32f01c58414566d6471ee User:AhmadHansman60 2 3 3 2023-11-04T17:24:08Z AhmadHansman60 3 Created page with "I'm Ahmad and I live with my husband and our two children in Le Petit-Quevilly, in the CENTRE south part. My hobbies are Genealogy, Petal collecting and pressing and Footbag.<br><br>My web blog ... Congress ([https://ide.geeksforgeeks.org/tryit.php/53b0b4da-d157-43c7-a3a1-c6e6f6f3da49 explanation])" wikitext text/x-wiki I'm Ahmad and I live with my husband and our two children in Le Petit-Quevilly, in the CENTRE south part. My hobbies are Genealogy, Petal collecting and pressing and Footbag.<br><br>My web blog ... Congress ([https://ide.geeksforgeeks.org/tryit.php/53b0b4da-d157-43c7-a3a1-c6e6f6f3da49 explanation]) 7909738c7bc126765bf522cbbea04ddff6f88add User:LelaOsy9906 2 5 6 2023-11-07T05:25:45Z LelaOsy9906 4 Created page with "Hi there! :) My name is Johnette, I'm a student studying Human Ecology from Ostermundigen, Switzerland.<br><br>Also visit my website; acheter avis google ([http://bulungurhayoti.uz/user/RubenFulford0/ source website])" wikitext text/x-wiki Hi there! :) My name is Johnette, I'm a student studying Human Ecology from Ostermundigen, Switzerland.<br><br>Also visit my website; acheter avis google ([http://bulungurhayoti.uz/user/RubenFulford0/ source website]) 5d0b5c56abebe3b59b48483a48a79e2caa23841b User:KlausDigby62958 2 7 8 2023-11-07T06:37:53Z KlausDigby62958 5 Created page with "Hi there! :) My name is Tyson, I'm a student studying Earth Sciences from Hollum, Netherlands.<br><br>my web-site - acheter avis google ([http://bulungurhayoti.uz/user/RubenFulford0/ just click the up coming internet site])" wikitext text/x-wiki Hi there! :) My name is Tyson, I'm a student studying Earth Sciences from Hollum, Netherlands.<br><br>my web-site - acheter avis google ([http://bulungurhayoti.uz/user/RubenFulford0/ just click the up coming internet site]) 47e7068fc99384f5844f5e4178b60dfa2c034f39 User:Jon5268975 2 9 10 2023-11-22T14:08:40Z Jon5268975 6 Created page with "My name is Jon (22 years old) and my hobbies are Association football and Golfing.<br><br>My homepage: [https://occasionvendu.com/deposer vente occasion particulier]" wikitext text/x-wiki My name is Jon (22 years old) and my hobbies are Association football and Golfing.<br><br>My homepage: [https://occasionvendu.com/deposer vente occasion particulier] 1b41b6d4bcafb219667e6b68d7086a6c5ae6224c User:NereidaAshburn6 2 11 12 2023-11-25T03:06:31Z NereidaAshburn6 7 Created page with "Hello! My name is Nereida. I am satisfied that I can unify to the entire world. I live in Norway, in the NA region. I dream to check out the various countries, to look for familiarized with appealing people.<br><br>Review my web site :: [https://occasionvendu.com site de seconde main particulier]" wikitext text/x-wiki Hello! My name is Nereida. I am satisfied that I can unify to the entire world. I live in Norway, in the NA region. I dream to check out the various countries, to look for familiarized with appealing people.<br><br>Review my web site :: [https://occasionvendu.com site de seconde main particulier] adbb49e248d6246203a7de765ebc342adef87cb5 User:LeesaLack3 2 13 14 2023-11-25T04:22:58Z LeesaLack3 8 Created page with "Hi there! :) My name is Leesa, I'm a student studying Architecture from Hazebrouck, France.<br><br>My site :: [https://occasionvendu.com site de vente occasion]" wikitext text/x-wiki Hi there! :) My name is Leesa, I'm a student studying Architecture from Hazebrouck, France.<br><br>My site :: [https://occasionvendu.com site de vente occasion] 5668bacc0e08772e972906591566bd5fb7e8e39c Clients 0 33 35 2024-01-03T14:38:56Z Lostarch 1 Created page with " Hotline clients allow a connection between user and server. They essentially provide the user with an experience, allowing them to view files and folders on the server, read the news BBS, chat and communicate with the community. Because hotline was originally intended as a chatting p2p client, most people focused on one or the other. Hotline is a good place to find files, however it also houses a fairly large chat community, and allows you to communicate with other use..." wikitext text/x-wiki Hotline clients allow a connection between user and server. They essentially provide the user with an experience, allowing them to view files and folders on the server, read the news BBS, chat and communicate with the community. Because hotline was originally intended as a chatting p2p client, most people focused on one or the other. Hotline is a good place to find files, however it also houses a fairly large chat community, and allows you to communicate with other users. Since hotline came prior to Facebook, torrents, and the Gnutella network, it truely was remarkable for its time. It still exists, and you can feel free to download one of the clients below and see for yourself. Downloads <sub>^^ - Indicates current website no longer allows download, Need new files for download (Email them to bnetcc@gmail.com and I can host for free)</sub> <u>'''Official Clients'''</u> Hotline Connect Client - v1.9.2 (^^[http://www.sumamimasen.com/sm/files/hotline/HotlineConnectClient-Mac.zip Carbon]), v1.2.3 ([http://preterhuman.net/download/Hotline_Client-1.2.3_68k.hqx Classic 68k], [http://preterhuman.net/download/Hotline_Client-1.2.3_PPC.hqx Classic PPC], [http://preterhuman.net/download/Hotline_Client-1.2.3_win.zip Windows]) <u>'''Derivatives (Openline)'''</u> [http://www.hyperspasm.com/underline/ Underline (Mac OS 9, Mac OS X PPC, Windows)] primarily adds optional blowfish to encrypt connections with servers that support it <u>'''Clones'''</u> [https://github.com/jwheare/hotline Erlang Hotline client with web UI] ^^[http://fidelio.sourceforge.net/ Fidelio (Linux)] DOWNLOAD LINK INVALID [http://code.google.com/p/filetalk/ FileTalk (Ruby)] [http://www.macupdate.com/info.php/id/6669/frogblast Frogblast (Mac OS X PPC)] [http://gtkhx.sourceforge.net GtkHx (Linux)] [http://pharerouge.sourceforge.net/ PhareRouge (Java)] [http://ubersoft.org/pitbullpro Pitbull Pro (Windows)] - Make sure you download Visual C++ 2015 - https://www.microsoft.com/en-us/download/details.aspx?id=52685 ^^[http://hp.vector.co.jp/authors/VA013465/silverwing-beos/ SilverWing (BeOS x86/PPC)]DOWNLOAD LINK INVALID Nostalgia (Mac OS X) -- Epo told me to take my old link down, but you can grab this client on MANY Hotline servers including hltracker.com. Since Epo has passed... I want to make sure people can still enjoy his work. While he constantly talked down about his client, it is still the best client native for Mac OS X. Rest in peace Epo... ~LostArch ==Under development== Many hotline users have decided over time to develop their own clones, serving particular purposes that are not available in other clients or featuring a personalized user interface. These are the clients that are being actively developed by the Hotline community: [https://github.com/tjohnman/Obsession/releases Obsession], open source and written in Qt, for Windows, Linux and macOS users. Latest update: November 2022. [http://capnhack.com/XCCpr2.5b.zip XCC pr2.5b], -Direct Download. Test version, please report any bugs. XCC is (for now) a Mac client aimed at end users and server admins. This beta includes full AppleScript support, allowing the client to be used as a customised bot.(Edited download link to Tagban's host to avoid overloading servers of Creator) [http://ubersoft.org/pitbullpro/ Pitbull Pro 3], -Remake of the Original Mac version, coded by UberFoX. It is currently still in Beta but can handle files over 4 GB when connected to server that handles it such as Pitbull Server (also made by UberFoX and available from the Servers pager on wiki) also Pitbull features 256bit-AES with 4096-BIT RSA encryption Dinobull - A fork of Pitbull Pro 3 that can handle bridging Discord to Hotline Protocol Javaline Client -- A multiplatform client that runs on Mac, Windows, Unix coded in Java being made by UberFoX [https://github.com/mierau/hotline/releases/tag/1.0beta4 Hotline (SwiftUI)] - Modern built client in Beta for Hotline. (Mac OS X Modern Up to Sonoma) 2327cb8bbc75a544e13fd630857d2c031ab252b1 54 35 2024-01-03T15:43:49Z 17lifers 33 wikitext text/x-wiki Hotline clients allow for a connection between the user and the server. They essentially provide the user with an experience, allowing them to view files and folders on the server, read the news BBS, chat and communicate with the community. Because Hotline was originally intended as a chatting p2p client, most people focused on one or the other. Hotline is a good place to find files, however it also houses a fairly large chat community, and allows you to communicate with other users. Since Hotline came prior to Facebook, BitTorrent, and Gnutella, it truely was remarkable for its time. It still exists, and you can feel free to download one of the clients below and see for yourself. == Downloads == <sub>^^ - Indicates current website no longer allows download, Need new files for download (Email them to bnetcc@gmail.com and I can host for free)</sub> === Official Clients === Hotline Connect Client - v1.9.2 (^^[http://www.sumamimasen.com/sm/files/hotline/HotlineConnectClient-Mac.zip Carbon]), v1.2.3 ([http://preterhuman.net/download/Hotline_Client-1.2.3_68k.hqx Classic 68k], [http://preterhuman.net/download/Hotline_Client-1.2.3_PPC.hqx Classic PPC], [http://preterhuman.net/download/Hotline_Client-1.2.3_win.zip Windows]) === Derivatives (Openline) === [http://www.hyperspasm.com/underline/ Underline (Mac OS 9, Mac OS X PPC, Windows)] primarily adds optional blowfish to encrypt connections with servers that support it === Clones === [https://github.com/jwheare/hotline Erlang Hotline client with web UI] ^^[http://fidelio.sourceforge.net/ Fidelio (Linux)] DOWNLOAD LINK INVALID [http://code.google.com/p/filetalk/ FileTalk (Ruby)] [http://www.macupdate.com/info.php/id/6669/frogblast Frogblast (Mac OS X PPC)] [http://gtkhx.sourceforge.net GtkHx (Linux)] [http://pharerouge.sourceforge.net/ PhareRouge (Java)] [http://ubersoft.org/pitbullpro Pitbull Pro (Windows)] - Make sure you download Visual C++ 2015 - https://www.microsoft.com/en-us/download/details.aspx?id=52685 ^^[http://hp.vector.co.jp/authors/VA013465/silverwing-beos/ SilverWing (BeOS x86/PPC)]DOWNLOAD LINK INVALID Nostalgia (Mac OS X) -- Epo told me to take my old link down, but you can grab this client on MANY Hotline servers including hltracker.com. Since Epo has passed... I want to make sure people can still enjoy his work. While he constantly talked down about his client, it is still the best client native for Mac OS X. Rest in peace Epo... ~LostArch ==Under development== Many hotline users have decided over time to develop their own clones, serving particular purposes that are not available in other clients or featuring a personalized user interface. These are the clients that are being actively developed by the Hotline community: [https://github.com/tjohnman/Obsession/releases Obsession], open source and written in Qt, for Windows, Linux and macOS users. Latest update: November 2022. [http://capnhack.com/XCCpr2.5b.zip XCC pr2.5b], -Direct Download. Test version, please report any bugs. XCC is (for now) a Mac client aimed at end users and server admins. This beta includes full AppleScript support, allowing the client to be used as a customised bot.(Edited download link to Tagban's host to avoid overloading servers of Creator) [http://ubersoft.org/pitbullpro/ Pitbull Pro 3], -Remake of the Original Mac version, coded by UberFoX. It is currently still in Beta but can handle files over 4 GB when connected to server that handles it such as Pitbull Server (also made by UberFoX and available from the Servers pager on wiki) also Pitbull features 256bit-AES with 4096-BIT RSA encryption Dinobull - A fork of Pitbull Pro 3 that can handle bridging Discord to Hotline Protocol Javaline Client -- A multiplatform client that runs on Mac, Windows, Unix coded in Java being made by UberFoX [https://github.com/mierau/hotline/releases/tag/1.0beta4 Hotline (SwiftUI)] - Modern built client in Beta for Hotline. (Mac OS X Modern Up to Sonoma) 7b3f6abc1707bf56b4bf4fc4dc5778e87d9c1018 58 54 2024-01-03T16:09:58Z Lostarch 1 /* Clones */ wikitext text/x-wiki Hotline clients allow for a connection between the user and the server. They essentially provide the user with an experience, allowing them to view files and folders on the server, read the news BBS, chat and communicate with the community. Because Hotline was originally intended as a chatting p2p client, most people focused on one or the other. Hotline is a good place to find files, however it also houses a fairly large chat community, and allows you to communicate with other users. Since Hotline came prior to Facebook, BitTorrent, and Gnutella, it truely was remarkable for its time. It still exists, and you can feel free to download one of the clients below and see for yourself. == Downloads == <sub>^^ - Indicates current website no longer allows download, Need new files for download (Email them to bnetcc@gmail.com and I can host for free)</sub> === Official Clients === Hotline Connect Client - v1.9.2 (^^[http://www.sumamimasen.com/sm/files/hotline/HotlineConnectClient-Mac.zip Carbon]), v1.2.3 ([http://preterhuman.net/download/Hotline_Client-1.2.3_68k.hqx Classic 68k], [http://preterhuman.net/download/Hotline_Client-1.2.3_PPC.hqx Classic PPC], [http://preterhuman.net/download/Hotline_Client-1.2.3_win.zip Windows]) === Derivatives (Openline) === [http://www.hyperspasm.com/underline/ Underline (Mac OS 9, Mac OS X PPC, Windows)] primarily adds optional blowfish to encrypt connections with servers that support it === Clones === [https://github.com/jwheare/hotline Erlang Hotline client with web UI] [http://fidelio.sourceforge.net/ Fidelio (Linux)] ^^[http://code.google.com/p/filetalk/ FileTalk (Ruby)] (LINK DEAD) [https://macintoshgarden.org/apps/frogblast Frogblast (Mac OS X PPC)] [http://gtkhx.sourceforge.net GtkHx (Linux)] [https://pharerouge.sourceforge.net/en/index.html PhareRouge (Java)] [http://ubersoft.org/pitbullpro Pitbull Pro (Windows)] [http://hp.vector.co.jp/authors/VA013465/silverwing-beos/ SilverWing (BeOS x86/PPC)] Nostalgia (Mac OS X) -- Epo told me to take my old link down, but you can grab this client on MANY Hotline servers including hltracker.com. Since Epo has passed... I want to make sure people can still enjoy his work. While he constantly talked down about his client, it is still the best client native for Mac OS X. Rest in peace Epo... ~LostArch ==Under development== Many hotline users have decided over time to develop their own clones, serving particular purposes that are not available in other clients or featuring a personalized user interface. These are the clients that are being actively developed by the Hotline community: [https://github.com/tjohnman/Obsession/releases Obsession], open source and written in Qt, for Windows, Linux and macOS users. Latest update: November 2022. [http://capnhack.com/XCCpr2.5b.zip XCC pr2.5b], -Direct Download. Test version, please report any bugs. XCC is (for now) a Mac client aimed at end users and server admins. This beta includes full AppleScript support, allowing the client to be used as a customised bot.(Edited download link to Tagban's host to avoid overloading servers of Creator) [http://ubersoft.org/pitbullpro/ Pitbull Pro 3], -Remake of the Original Mac version, coded by UberFoX. It is currently still in Beta but can handle files over 4 GB when connected to server that handles it such as Pitbull Server (also made by UberFoX and available from the Servers pager on wiki) also Pitbull features 256bit-AES with 4096-BIT RSA encryption Dinobull - A fork of Pitbull Pro 3 that can handle bridging Discord to Hotline Protocol Javaline Client -- A multiplatform client that runs on Mac, Windows, Unix coded in Java being made by UberFoX [https://github.com/mierau/hotline/releases/tag/1.0beta4 Hotline (SwiftUI)] - Modern built client in Beta for Hotline. (Mac OS X Modern Up to Sonoma) a92fb0aef60a9c5ab7af7060e2b5aa835d2a4554 69 58 2024-01-03T16:34:48Z 17lifers 33 Link for carbon version updated wikitext text/x-wiki Hotline clients allow for a connection between the user and the server. They essentially provide the user with an experience, allowing them to view files and folders on the server, read the news BBS, chat and communicate with the community. Because Hotline was originally intended as a chatting p2p client, most people focused on one or the other. Hotline is a good place to find files, however it also houses a fairly large chat community, and allows you to communicate with other users. Since Hotline came prior to Facebook, BitTorrent, and Gnutella, it truely was remarkable for its time. It still exists, and you can feel free to download one of the clients below and see for yourself. == Downloads == <sub>^^ - Indicates current website no longer allows download, Need new files for download (Email them to bnetcc@gmail.com and I can host for free)</sub> === Official Clients === Hotline Connect Client - v1.9.2 ([https://preterhuman.net/download/Hotline-Client-1.9.2-Carbon.sit Carbon]), v1.2.3 ([http://preterhuman.net/download/Hotline_Client-1.2.3_68k.hqx Classic 68k], [http://preterhuman.net/download/Hotline_Client-1.2.3_PPC.hqx Classic PPC], [http://preterhuman.net/download/Hotline_Client-1.2.3_win.zip Windows]) === Derivatives (Openline) === [http://www.hyperspasm.com/underline/ Underline (Mac OS 9, Mac OS X PPC, Windows)] primarily adds optional blowfish to encrypt connections with servers that support it === Clones === [https://github.com/jwheare/hotline Erlang Hotline client with web UI] [http://fidelio.sourceforge.net/ Fidelio (Linux)] ^^[http://code.google.com/p/filetalk/ FileTalk (Ruby)] (LINK DEAD) [https://macintoshgarden.org/apps/frogblast Frogblast (Mac OS X PPC)] [http://gtkhx.sourceforge.net GtkHx (Linux)] [https://pharerouge.sourceforge.net/en/index.html PhareRouge (Java)] [http://ubersoft.org/pitbullpro Pitbull Pro (Windows)] [http://hp.vector.co.jp/authors/VA013465/silverwing-beos/ SilverWing (BeOS x86/PPC)] Nostalgia (Mac OS X) -- Epo told me to take my old link down, but you can grab this client on MANY Hotline servers including hltracker.com. Since Epo has passed... I want to make sure people can still enjoy his work. While he constantly talked down about his client, it is still the best client native for Mac OS X. Rest in peace Epo... ~LostArch ==Under development== Many hotline users have decided over time to develop their own clones, serving particular purposes that are not available in other clients or featuring a personalized user interface. These are the clients that are being actively developed by the Hotline community: [https://github.com/tjohnman/Obsession/releases Obsession], open source and written in Qt, for Windows, Linux and macOS users. Latest update: November 2022. [http://capnhack.com/XCCpr2.5b.zip XCC pr2.5b], -Direct Download. Test version, please report any bugs. XCC is (for now) a Mac client aimed at end users and server admins. This beta includes full AppleScript support, allowing the client to be used as a customised bot.(Edited download link to Tagban's host to avoid overloading servers of Creator) [http://ubersoft.org/pitbullpro/ Pitbull Pro 3], -Remake of the Original Mac version, coded by UberFoX. It is currently still in Beta but can handle files over 4 GB when connected to server that handles it such as Pitbull Server (also made by UberFoX and available from the Servers pager on wiki) also Pitbull features 256bit-AES with 4096-BIT RSA encryption Dinobull - A fork of Pitbull Pro 3 that can handle bridging Discord to Hotline Protocol Javaline Client -- A multiplatform client that runs on Mac, Windows, Unix coded in Java being made by UberFoX [https://github.com/mierau/hotline/releases/tag/1.0beta4 Hotline (SwiftUI)] - Modern built client in Beta for Hotline. (Mac OS X Modern Up to Sonoma) 48423dafca7627a080f5af3e4fcc6b9753f25ca2 71 69 2024-01-03T17:11:39Z 17lifers 33 The latest version of HL-SwiftUI works with macOS 14.2.1 and up according to the Info.plist inside, and Pitbull Pro 3 is no longer in beta. wikitext text/x-wiki Hotline clients allow for a connection between the user and the server. They essentially provide the user with an experience, allowing them to view files and folders on the server, read the news BBS, chat and communicate with the community. Because Hotline was originally intended as a chatting p2p client, most people focused on one or the other. Hotline is a good place to find files, however it also houses a fairly large chat community, and allows you to communicate with other users. Since Hotline came prior to Facebook, BitTorrent, and Gnutella, it truely was remarkable for its time. It still exists, and you can feel free to download one of the clients below and see for yourself. == Downloads == <sub>^^ - Indicates current website no longer allows download, Need new files for download (Email them to bnetcc@gmail.com and I can host for free)</sub> === Official Clients === Hotline Connect Client - v1.9.2 ([https://preterhuman.net/download/Hotline-Client-1.9.2-Carbon.sit Carbon]), v1.2.3 ([http://preterhuman.net/download/Hotline_Client-1.2.3_68k.hqx Classic 68k], [http://preterhuman.net/download/Hotline_Client-1.2.3_PPC.hqx Classic PPC], [http://preterhuman.net/download/Hotline_Client-1.2.3_win.zip Windows]) === Derivatives (Openline) === [http://www.hyperspasm.com/underline/ Underline (Mac OS 9, Mac OS X PPC, Windows)] primarily adds optional blowfish to encrypt connections with servers that support it === Clones === [https://github.com/jwheare/hotline Erlang Hotline client with web UI] [http://fidelio.sourceforge.net/ Fidelio (Linux)] [https://code.google.com/archive/p/filetalk/source/default/source FileTalk (Ruby)] (Source code is available, but binaries aren't) [https://macintoshgarden.org/apps/frogblast Frogblast (Mac OS X PPC)] [http://gtkhx.sourceforge.net GtkHx (Linux)] [https://pharerouge.sourceforge.net/en/index.html PhareRouge (Java)] [http://ubersoft.org/pitbullpro Pitbull Pro (Windows)] [http://hp.vector.co.jp/authors/VA013465/silverwing-beos/ SilverWing (BeOS x86/PPC)] Nostalgia (Mac OS X) -- Epo told me to take my old link down, but you can grab this client on MANY Hotline servers including hltracker.com. Since Epo has passed... I want to make sure people can still enjoy his work. While he constantly talked down about his client, it is still the best client native for Mac OS X. Rest in peace Epo... ~LostArch ==Currently under development== Many Hotline users have decided over time to develop their own clients, serving particular purposes that are not available in other clients or featuring a personalized user interface. These are the clients that are being actively developed by the Hotline community: [https://github.com/tjohnman/Obsession/releases Obsession], open source and written in Qt, for Windows, Linux and macOS users. Latest update: November 2022. [http://capnhack.com/XCCpr2.5b.zip XCC pr2.5b], Direct Download. Test version, please report any bugs. XCC is (for now) a Mac OS X client aimed at end users and server admins. This beta version includes full AppleScript support, allowing the client to be used as a customised bot.(Edited download link to Tagban's host to avoid overloading servers of the developer). [http://ubersoft.org/pitbullpro/ Pitbull Pro 3], Remake of the Original Mac version, coded by UberFoX. It can handle files over 4 GB when connected to server that handles it such as Pitbull Server (also made by UberFoX and available from the Servers pager on wiki) also Pitbull features 256bit-AES with 4096-BIT RSA encryption. Dinobull - A fork of Pitbull Pro 3 which can handle bridging Discord to the Hotline protocol. Javaline Client -- A multiplatform client that runs on Mac, Windows, Unix coded in Java being made by UberFoX. [https://github.com/mierau/hotline/releases/tag/1.0beta4 Hotline (SwiftUI)] - Modern Hotline client built in SwiftUI, for macOS 14.2.1 and up. 6512deef3c785256023a578e455eebeb776e771b Trackers 0 34 36 2024-01-03T14:40:28Z Lostarch 1 Created page with "Trackers are applications that register and list servers so that they can be found by Hotline clients. ==Active Trackers== '''Private Trackers''': ''(These require a password to have your server listed in them, but are visible and usable from any Hotline client)'' *As of right now, no private trackers exist anymore. '''Public Trackers''':'' (Add these to your sever to allow it to be found by clients)'' *hltracker.com - The main/original tracker, now hosted by the users..." wikitext text/x-wiki Trackers are applications that register and list servers so that they can be found by Hotline clients. ==Active Trackers== '''Private Trackers''': ''(These require a password to have your server listed in them, but are visible and usable from any Hotline client)'' *As of right now, no private trackers exist anymore. '''Public Trackers''':'' (Add these to your sever to allow it to be found by clients)'' *hltracker.com - The main/original tracker, now hosted by the users - No pass required anymore! *tracked.ath.cx *tracked.nailbat.com *hotline.jpn.ph *tracker.preterhuman.net *tracked.agent79.org *hotline.duckdns.org *redlightdistrict.dyndns.org * hotline.ubersoft.org (The official tracker hosted and used by the developers of Pitbull/JavaLine client/server/tracker software) * badmoon.biz * nederland.serverthuis.nl - Open tracker for every body {{Template:AddTrackers}} ==Tracker Software== <u>'''Official'''</u> *Hotline Tracker - v1.1 ([http://preterhuman.net/download/HotlineTracker1.168K.sit.hqx Mac Classic 68k], [http://preterhuman.net/download/HotlineTracker1.1PPC.sit.hqx Mac Classic PPC]), v1.0 ([http://preterhuman.net/download/HotlineTracker1.0.zip Windows]) <u>'''Clones'''</u> *[http://codebox.org.uk/pages/hltracker Codebox HLTracker (Windows)] *[http://preterhuman.net/download/mhxd-0.4.10.tar.bz2 hxtrackd (Unix)] *[http://synhxd.sourceforge.net shxtrackd (Unix)] * [http://hotline.ubersoft.org/pitbulltracker/ Pitbull Tracker] 1a67e3d3369d59c7b75bd9bbfe3ba95a190da93c 65 36 2024-01-03T16:23:08Z Lostarch 1 /* Active Trackers */ wikitext text/x-wiki Trackers are applications that register and list servers so that they can be found by Hotline clients. ==Active Trackers== '''Private Trackers''': ''(These require a password to have your server listed in them, but are visible and usable from any Hotline client)'' *As of right now, no private trackers exist anymore. '''Public Trackers''':'' (Add these to your sever to allow it to be found by clients)'' *hltracker.com - The main/original tracker, now hosted by the users - No pass required anymore! *tracked.ath.cx *tracked.nailbat.com *hotline.jpn.ph *tracker.preterhuman.net *tracked.agent79.org *hotline.duckdns.org *redlightdistrict.dyndns.org *hotline.ubersoft.org (The official tracker hosted and used by the developers of Pitbull/JavaLine client/server/tracker software) *badmoon.biz *nederland.serverthuis.nl - Open tracker for every body ==Tracker Software== <u>'''Official'''</u> *Hotline Tracker - v1.1 ([http://preterhuman.net/download/HotlineTracker1.168K.sit.hqx Mac Classic 68k], [http://preterhuman.net/download/HotlineTracker1.1PPC.sit.hqx Mac Classic PPC]), v1.0 ([http://preterhuman.net/download/HotlineTracker1.0.zip Windows]) <u>'''Clones'''</u> *[http://codebox.org.uk/pages/hltracker Codebox HLTracker (Windows)] *[http://preterhuman.net/download/mhxd-0.4.10.tar.bz2 hxtrackd (Unix)] *[http://synhxd.sourceforge.net shxtrackd (Unix)] * [http://hotline.ubersoft.org/pitbulltracker/ Pitbull Tracker] f3f679c0479280817e6527658f7e176d0a039c33 Servers 0 35 38 2024-01-03T14:42:42Z Lostarch 1 Created page with "{{Template:AddServers}} ==Outstanding Servers== *hltracker.com -- Official  Hotline Tracker - Home of HLTracker.com *hl.stickytack.com -- (also lsd25.dyndns.org -- Digital Obsession's old server. *hl.preterhuman.net -- Higher Intellect, a server for old/antique software for a variety of platforms *hl.udogs.net -- For Myth fans and developers alike. * hotline.ubersoft.org -- Official server of Pitbull Pro and Sputnik development also provides a load of files and rare Ma..." wikitext text/x-wiki {{Template:AddServers}} ==Outstanding Servers== *hltracker.com -- Official  Hotline Tracker - Home of HLTracker.com *hl.stickytack.com -- (also lsd25.dyndns.org -- Digital Obsession's old server. *hl.preterhuman.net -- Higher Intellect, a server for old/antique software for a variety of platforms *hl.udogs.net -- For Myth fans and developers alike. * hotline.ubersoft.org -- Official server of Pitbull Pro and Sputnik development also provides a load of files and rare Mac OS9 68/PPC apps/games * badmoon.biz -- Badmoon -- Home of the Badmoon Tracker * agency.agent79.org -- The Agency -- Random stuff, neat though. * hotline.duckdns.org -- Test Pattern 6 -- Testing patterns n shit so you don't have to. * Amadeus -amadues.agent79.org - Very old server, Ran by good friends. * Nederland.serverthuis.nl - official site and tracker and server guest = ON (this server is not responding, last check 2023-04-30) ==Server Software== <u>'''Official'''</u> *Hotline Connect Server - v1.2.3 ([http://preterhuman.net/download/HotlineServer1.2.368K.sit.hqx Mac Classic 68k], [http://preterhuman.net/download/Hotline_Server-1.2.3_PPC.hqx Mac Classic PPC], [http://preterhuman.net/download/Hotline_Server-1.2.3_win.zip Windows]) *Hotline FTP Server ([http://preterhuman.net/download/HotlineFTPServ1.0PPC.sit.hqx Mac Classic PPC], [http://preterhuman.net/download/FTPServPC.zip Windows]) <u>'''Derivatives'''</u> *[http://lorbac.net/ GLoarbLine Server (Mac OS X PPC, Windows)] <u>'''Clones'''</u> *[http://preterhuman.net/download/mhxd-0.4.10.tar.bz2 hxd (Unix)] *[https://bitbucket.org/avaraline/phxd phxd (Python)] *[http://code.google.com/p/phxd/ phxd (Unix)] *[https://github.com/UberFoX/Javaline Javaline Server] (Multiplatform Mac, WIndows, Unix) made in Java can be downloaded from the UberSoft hotline server at hotline.ubersoft.org (requires JRE 8+) the link is to the source code and compiled java bin since the Source Code to Javaline was released March 2021 if anybody wants to take over it make sure to head over to the official Pitbull Pro development server so you can add compatibility and what not with Pitbull Pro (if you so wish to) * [http://ubersoft.org/pitbullserver/ Pitbull Server] - (Windows) * Dinobull Server - (Windows) Adds Discord Relay support * [http://github.com/jhalter/mobius Mobius] - Multiplatform command line server and client implemented in Golang 5416ab58a0b2d5338440ac1a11273936b1cef149 AppWarrior 0 36 39 2024-01-03T14:43:37Z Lostarch 1 Created page with "AppWarrior is the toolkit in which the Hotline client/server/tracker suite is built off of. It is heavily undocumented, but if you have [http://doxygen.nl Doxygen], there's a Doxyfile for AppWarrior's API [https://github.com/NebuHiiEjamu/Openline/tree/master/AppWarrior here] as well as one for GLoarbLine's additions [https://github.com/NebuHiiEjamu/GLoarbLine/tree/master/AppWarrior here]. As it stands, AppWarrior requires Metrowerks CodeWarrior to build and is configured..." wikitext text/x-wiki AppWarrior is the toolkit in which the Hotline client/server/tracker suite is built off of. It is heavily undocumented, but if you have [http://doxygen.nl Doxygen], there's a Doxyfile for AppWarrior's API [https://github.com/NebuHiiEjamu/Openline/tree/master/AppWarrior here] as well as one for GLoarbLine's additions [https://github.com/NebuHiiEjamu/GLoarbLine/tree/master/AppWarrior here]. As it stands, AppWarrior requires Metrowerks CodeWarrior to build and is configured to target Mac OS Classic PPC, Mac OS X Carbon PPC, and Windows x86, all 32-bit. A good chunk of AppWarrior's API predates C++'s standard library, standarized in 1998, and as such, much of this API has more efficient alternatives, either from the standard library included with modern C++ compilers, while the GUI and more exotic components have better alternatives with libraries such as [http://qt.io Qt ] or [http://boost.org Boost], all of which have vastly more modern platform support than AppWarrior. =Naming Conventions= Identifiers in AppWarrior follow a naming convention. Classes, structs and their member functions are PascalCased, while their variables and typed constants are camelCased. Macros and preprocessor symbols are mostly CAPITALIZED_SNAKE_CASE with a few exceptions. Global functions seem to be lowercased. Enumeration constants seem to be in snake_camelCase style. {| class="article-table" !Prefix !Applies to |- |C |Instantiable classes |- |S |Structures |- |T |Function type aliases, as well as classes which are constructed through a modular class |- |U |Modular classes (all static functions) |} [[Category:Development]] [[Category:AppWarrior]] a4169a0c57ffd77d20856b4794b600b787b87687 DateParameters 0 37 40 2024-01-03T14:44:25Z Lostarch 1 Created page with "Date ''parameters'' (also referred to as date ''objects'') in the Hotline protocol contain the following information. The numerical values, as always, are encoded using Big Endian or Network Byte Order: Year (2 bytes), Milliseconds (2 bytes), Seconds (4 bytes). Seconds and milliseconds represent the amount of time that passed since January 1st of any given year. For instance, 70 seconds and 2,000 milliseconds for a year value of 2010 would represent 1 January 2010 at 0..." wikitext text/x-wiki Date ''parameters'' (also referred to as date ''objects'') in the Hotline protocol contain the following information. The numerical values, as always, are encoded using Big Endian or Network Byte Order: Year (2 bytes), Milliseconds (2 bytes), Seconds (4 bytes). Seconds and milliseconds represent the amount of time that passed since January 1st of any given year. For instance, 70 seconds and 2,000 milliseconds for a year value of 2010 would represent 1 January 2010 at 00:01:12 AM. 432,000 seconds and 5,000 milliseconds for a year value of 2008 would represent 6 January 2008 at 00:00:15 AM (43,210 seconds = 5 days, 10 seconds; 5,000 milliseconds = 5 seconds). The algorithm for converting to a date parameter is as follows: {| class="article-table" !Month !Seconds ellapsed since 1/1/YYYY 0:00 (at first of month) |- |January |0 |- |February |2,678,400 |- |March |5,097,600 (non leap year) |- |April |7,776,000 |- |May |10,368,000 |- |June |13,046,400 |- |July |15,638,400 |- |August |18,316,800 |- |September |20,995,200 |- |October |23,587,200 |- |November |26,265,600 |- |December |28,857,600 |} Given a ''SYSTEMTIME''[https://msdn.microsoft.com/en-us/library/windows/desktop/ms724950(v=vs.85).aspx] structure and an integer array of the above table called ''MONTH_SECS'', in order to get the seconds: MONTH_SECS[wMonth - 1] + (if (wMonth > 2) and isLeapYear(wYear): 86400 else 0) + (wSecond + (60 * (wMinute + 60 * ((wHour + 24 * (wDay - 1)))))) The year and milliseconds are simply copied over.[[Category:Development]] 7d44394a4d33845a8169d0a5a0f765dd5b62ccbd Development 0 38 41 2024-01-03T14:46:04Z Lostarch 1 Created page with "Placeholder for Development tracking, links to ACTIVE Projects, and source code/direction/etc." wikitext text/x-wiki Placeholder for Development tracking, links to ACTIVE Projects, and source code/direction/etc. ffedc0a76d347c972bfa28eac4eaf776288cb865 Hotline Client 2.0 Constants 0 39 42 2024-01-03T14:47:08Z Lostarch 1 Created page with " Const myTran_Error& = &H100 Const myTran_GetMsgs& = &H101 Const myTran_NewMsg& = &H102 Const myTran_OldPostNews& = &H103 Const myTran_ServerMsg& = &H104 Const myTran_ChatSend& = &H105 Const myTran_ChatMsg& = &H106 Const myTran_Login& = &H107 Const myTran_SendInstantMsg& = &H108 Const myTran_ShowAgreement& = &H109 Const myTran_DisconnectUser& = &H110 Const myTran_DisconnectMsg& = &H111 Const myTran_InviteNewChat& = &H112 Const myTran_InviteTo..." wikitext text/x-wiki Const myTran_Error& = &H100 Const myTran_GetMsgs& = &H101 Const myTran_NewMsg& = &H102 Const myTran_OldPostNews& = &H103 Const myTran_ServerMsg& = &H104 Const myTran_ChatSend& = &H105 Const myTran_ChatMsg& = &H106 Const myTran_Login& = &H107 Const myTran_SendInstantMsg& = &H108 Const myTran_ShowAgreement& = &H109 Const myTran_DisconnectUser& = &H110 Const myTran_DisconnectMsg& = &H111 Const myTran_InviteNewChat& = &H112 Const myTran_InviteToChat& = &H113 Const myTran_RejectChatInvite& = &H114 Const myTran_JoinChat& = &H115 Const myTran_LeaveChat& = &H116 Const myTran_NotifyChatChangeUser& = &H117 Const myTran_NotifyChatDeleteUser& = &H118 Const myTran_NotifyChatSubject& = &H119 Const myTran_SetChatSubject& = &H120 Const myTran_Agreed& = &H121 Const myTran_ServerBanner& = &H122 Const myTran_GetFileNameList& = &H200 Const myTran_DownloadFile& = &H202 Const myTran_UploadFile& = &H203 Const myTran_DeleteFile& = &H204 Const myTran_NewFolder& = &H205 Const myTran_GetFileInfo& = &H206 Const myTran_SetFileInfo& = &H207 Const myTran_MoveFile& = &H208 Const myTran_MakeFileAlias& = &H209 Const myTran_DownloadFldr& = &H210 Const myTran_DownloadInfo& = &H211 Const myTran_DownloadBanner& = &H212 Const myTran_UploadFldr& = &H213 Const myTran_GetUserNameList& = &H300 Const myTran_NotifyChangeUser& = &H301 Const myTran_NotifyDeleteUser& = &H302 Const myTran_GetClientInfoText& = &H303 Const myTran_SetClientUserInfo& = &H304 Const myTran_NewUser& = &H350 Const myTran_DeleteUser& = &H351 Const myTran_GetUser& = &H352 Const myTran_SetUser& = &H353 Const myTran_UserAccess& = &H354 Const myTran_UserBroadcast& = &H355 Const myTran_GetNewsCatNameList& = &H370 Const myTran_GetNewsArtNameList& = &H371 Const myTran_DelNewsItem& = &H380 Const myTran_NewNewsFldr& = &H381 Const myTran_NewNewsCat& = &H382 Const myTran_GetNewsArtData& = &H400 Const myTran_PostNewsArt& = &H410 Const myTran_DelNewsArt& = &H411 [[Category:Development]] b6d2516f072853430b80a0a4f828ba327f7057f9 User:Lostarch 2 40 43 2024-01-03T14:49:59Z Lostarch 1 Created page with "Hello! My name is John. I've been around Hotline since the year 2000. My Aka on Hotline was LostArch, but in almost every other place my Aka is Tagban. I'll answer to either, often trying to show both so as not to confuse anyone." wikitext text/x-wiki Hello! My name is John. I've been around Hotline since the year 2000. My Aka on Hotline was LostArch, but in almost every other place my Aka is Tagban. I'll answer to either, often trying to show both so as not to confuse anyone. 89eee7b75ffedce4dcb2fd839be117bad09f179f MyTran Login 0 41 44 2024-01-03T14:51:46Z Lostarch 1 Created page with " Constant: myTran_Login Initiator: Client Start login sequence with the server (see ''Transaction Sequences''). Fields used in the request: {| border="1" cellpadding="0" cellspacing="0" | style="width:.45in;"| '''ID''' | style="width:96px;"| '''Field Name''' | style="width:451px;"| ===Note=== |- | style="width:.45in;"| 105 | style="width:96px;"| User login | style="width:451px;"| |- | style="width:.45in;"| 106 | s..." wikitext text/x-wiki Constant: myTran_Login Initiator: Client Start login sequence with the server (see ''Transaction Sequences''). Fields used in the request: {| border="1" cellpadding="0" cellspacing="0" | style="width:.45in;"| '''ID''' | style="width:96px;"| '''Field Name''' | style="width:451px;"| ===Note=== |- | style="width:.45in;"| 105 | style="width:96px;"| User login | style="width:451px;"| |- | style="width:.45in;"| 106 | style="width:96px;"| User password | style="width:451px;"| |- | style="width:.45in;"| 160 | style="width:96px;"| Version | style="width:451px;"| Currently 151 |} Fields used in the reply: {| border="1" cellpadding="0" cellspacing="0" | style="width:.45in;"| ====ID==== | style="width:96px;"| '''Field Name''' | style="width:451px;"| ===Note=== |- | style="width:.45in;"| 160 | style="width:96px;"| Version | style="width:451px;"| |} If Version is >= 151, additional fields are included: {| border="1" cellpadding="0" cellspacing="0" | style="width:.45in;"| ====ID==== | style="width:96px;"| '''Field Name''' | style="width:451px;"| ===Note=== |- | style="width:.45in;"| 161 | style="width:96px;"| Banner ID | style="width:451px;"| Used for making HTTP request to get banner |- | style="width:.45in;"| 162 | style="width:96px;"| Server name | style="width:451px;"| Server name string |} If server version is < 151, client sends Set Client User Info (304) transaction with only User Name (102) and User Icon ID (104) fields used, and does not expect a reply. It does not expect agreement to be received (109). Subsequently, it sends Get User Name List (300) request, followed by Get File Name List (200) or Get News Category Name List (370), depending on user preferences. After that, a banner is requested from HTTP server. fdfe7398b99adeed818dd40fbaf52facaee5f06a Path Parameters 0 42 45 2024-01-03T14:52:15Z Lostarch 1 Created page with " Constant: myTran_Login Initiator: Client Start login sequence with the server (see ''Transaction Sequences''). Fields used in the request: {| border="1" cellpadding="0" cellspacing="0" | style="width:.45in;"| '''ID''' | style="width:96px;"| '''Field Name''' | style="width:451px;"| ===Note=== |- | style="width:.45in;"| 105 | style="width:96px;"| User login | style="width:451px;"| |- | style="width:.45in;"| 106 | s..." wikitext text/x-wiki Constant: myTran_Login Initiator: Client Start login sequence with the server (see ''Transaction Sequences''). Fields used in the request: {| border="1" cellpadding="0" cellspacing="0" | style="width:.45in;"| '''ID''' | style="width:96px;"| '''Field Name''' | style="width:451px;"| ===Note=== |- | style="width:.45in;"| 105 | style="width:96px;"| User login | style="width:451px;"| |- | style="width:.45in;"| 106 | style="width:96px;"| User password | style="width:451px;"| |- | style="width:.45in;"| 160 | style="width:96px;"| Version | style="width:451px;"| Currently 151 |} Fields used in the reply: {| border="1" cellpadding="0" cellspacing="0" | style="width:.45in;"| ====ID==== | style="width:96px;"| '''Field Name''' | style="width:451px;"| ===Note=== |- | style="width:.45in;"| 160 | style="width:96px;"| Version | style="width:451px;"| |} If Version is >= 151, additional fields are included: {| border="1" cellpadding="0" cellspacing="0" | style="width:.45in;"| ====ID==== | style="width:96px;"| '''Field Name''' | style="width:451px;"| ===Note=== |- | style="width:.45in;"| 161 | style="width:96px;"| Banner ID | style="width:451px;"| Used for making HTTP request to get banner |- | style="width:.45in;"| 162 | style="width:96px;"| Server name | style="width:451px;"| Server name string |} If server version is < 151, client sends Set Client User Info (304) transaction with only User Name (102) and User Icon ID (104) fields used, and does not expect a reply. It does not expect agreement to be received (109). Subsequently, it sends Get User Name List (300) request, followed by Get File Name List (200) or Get News Category Name List (370), depending on user preferences. After that, a banner is requested from HTTP server. fdfe7398b99adeed818dd40fbaf52facaee5f06a Priv Bits 0 43 46 2024-01-03T14:52:45Z Lostarch 1 Created page with "Compiled by Virtual1, from multiple sources Privs are stored in the ''UserData'' file located in the users folder. All the priv data is stored in binary 1's & 0's taking up 8 bytes (4th byte thru 11th). The bytes are the 4th thru 7th Bytes in the Userdata file, space for up to 64 privs. Only the first six bytes are currently used. In the following description 1 denotes the highest bit (leftmost) in a byte. If priv #1 is the only one enabled, then the byte is chr(128)...." wikitext text/x-wiki Compiled by Virtual1, from multiple sources Privs are stored in the ''UserData'' file located in the users folder. All the priv data is stored in binary 1's & 0's taking up 8 bytes (4th byte thru 11th). The bytes are the 4th thru 7th Bytes in the Userdata file, space for up to 64 privs. Only the first six bytes are currently used. In the following description 1 denotes the highest bit (leftmost) in a byte. If priv #1 is the only one enabled, then the byte is chr(128). All privs on looks like this. In Hex 'FF F3 CF FF FF 80 00 00' 11111111-11110011-11001111-11111111-11111111-10000000-00000000-00000000 {| class="article-table" !Bit !Description !New user default |- |7 |Can Delete Files |- |6 |Can Upload Files |yes |- |5 |Can Download Files |yes |- |4 |Can Rename Files |- |3 |Can Move Files |- |2 |Can Create Folders |- |1 |Can Delete Folders |- |0 |Can Rename Folders |- |15 |Can Move Folders |- |14 |Can Read Chat |yes |- |13 |Can Send Chat |yes |- |12 |Reserved (not used) |- |11 |Reserved (not used) |- |10 |Reserved (not used) |- |9 |Can Create Users |- |8 |Can Delete Users |- |23 |Can Read Users |- |22 |Can Modify Users |- |21 |Reserved (not used) |- |20 |Reserved (not used) |- |19 |Can read news |yes |- |18 |Can Post News |yes |- |17 |Can Disconnect Users |- |16 |Cannot be Disconnected |- |31 |Can Get User Info |- |30 |Can Upload Anywhere |- |29 |Can Use Any Name |yes |- |28 |Don't Show Agreement |- |27 |Can Comment Files |- |26 |Can Comment Folders |- |25 |Can View DropBoxes |- |24 |Can Make Aliases |- |39 |Can Broadcast |- |38 |Can delete news articles |- |37 |Can create news categories |- |36 |Can delete news categories |- |35 |Can create news folders |- |34 |Can delete news folders |- |33 |Can upload folders |- |32 |Can download folders |- |47 |Send messages |- |46 |Reserved (not used) |- |45 |Reserved (not used) |- |44 |Reserved (not used) |- |43 |Reserved (not used) |- |42 |Reserved (not used) |- |41 |Reserved (not used) |- |40 |Reserved (not used) |} UserData file, 734 bytes total: {| class="article-table" !Position !Default !What |- |1-2 |0001 |short(PrefsVersion) |- |3-4 |0000 |short(minimum server version that can access correctly |- |5-12 |20700C2000800000 |priv bits (above) |- |13-526 |(zeros) |reserved for future expansion |- |527-530 |00000005 |long(nickname length) |- |531-562 |'Guest' |string(nickname) |- |563-662 |(zeros) |reserved for future expansion |- |663-666 |00000005 |long(account name length) |- |667-698 |'guest' |string(account name) |- |699-702 |00000000 |long(password length) |- |703-734 |(blank) |string(password) |} [[Category:Development]] 2ac8113ba49a76ce1a366eced7d36420e447d129 Protocol 0 44 47 2024-01-03T14:53:25Z Lostarch 1 Created page with "The following is based on the official Word document from Hotsprings that describes the Hotline Network Protocol 1.9. You might also want to take a look at [[Virtual1's_Hotline_Server_Protocol_Guide|Virtual1's Hotline Server Protocol Guide]], a reverse-engineered documentation of the protocol that was used for development of [[HotSocket]], a REALbasic socket class. You can find some aspects of the protocol explained in further detail in other :Category:Development|de..." wikitext text/x-wiki The following is based on the official Word document from Hotsprings that describes the Hotline Network Protocol 1.9. You might also want to take a look at [[Virtual1's_Hotline_Server_Protocol_Guide|Virtual1's Hotline Server Protocol Guide]], a reverse-engineered documentation of the protocol that was used for development of [[HotSocket]], a REALbasic socket class. You can find some aspects of the protocol explained in further detail in other [[:Category:Development|development pages]]. =Protocol Overview= Hotline client is an application executing on the user’s computer, and providing user interface for end-user services (chat, messaging, file services and other). Hotline server provides services and facilitates communication between all clients that are currently connected to it. Tracker application stores the list of servers that register with it, and provides that list to clients that request it. All these applications use TCP/IP for communication. To be able to connect to the specific server, IP address and port number must be provided to the client application. If client receives server’s address from a tracker, the tracker will provide the client with complete address. Otherwise, the user of Hotline client software must manually set this address. IP port number, set in the Hotline client for a specific server, is called ''base port number''. Additional port numbers utilized by the network protocol are determined by using this base port number. Namely, the base port number itself is used for regular transactions, while base port + 1 is used when upload/download is requested. HTTP tunneling uses base port + 2 for the regular transactions, and base + 3 for uploads/downloads. Numeric data transmitted over the wire is always in the network byte order. =Session Initialization= After establishing TCP connection, both client and server start the handshake process in order to confirm that each of them comply with requirements of the other. The information provided in this initial data exchange identifies protocols, and their versions, used in the communication. In the case where, after inspection, the capabilities of one of the subjects do not comply with the requirements of the other, the connection is dropped. The following information is sent to the server: {| class="article-table" !Description !Size !Data !Note |- |Protocol ID |4 |‘TRTP’ |0x54525450 |- |Sub-protocol ID |4 | |User defined |- |Version |2 |1 |Currently 1 |- |Sub-version |2 | |User defined |} The server replies with the following: {| class="article-table" !Description !Size !Data !Note |- |Protocol ID |4 |‘TRTP’ |- |Error code |4 | |Error code returned by the server (0 = no error) |} In the case of an error, client and server close the connection. =Transactions= After the initial handshake, client and server communicate over the connection by sending and receiving ''transactions''. Every transaction contains description (request) and/or status (reply) of the operation that is performed, and parameters used for that specific operation. A transaction begins with the following header: {| class="article-table" !Description !Size !Data !Note |- |Flags |1 |0 |Reserved (should be 0) |- |Is reply |1 |0 or 1 |Request (0) or reply (1) |- |Type |2 | |Requested operation (user defined). 0 for reply |- |ID |4 |Not 0 |Unique transaction ID (must not be 0) |- |Error code |4 | |Used in the reply (user defined, 0 = no error) |- |Total size |4 | |Total data size for the transaction (all parts) |- |Data size |4 | |Size of data in this transaction part This allows splitting large transactions into smaller parts |} Immediately following the header is optional transaction data. Data part contains ''transaction parameters''. When these parameters are used, data part starts with the field containing the number of parameters in the parameter list: {| class="article-table" !Description !Size !Note |- |Number of parameters |2 |Number of the parameters for this transaction |- |Parameter list… |} Parameter list contains multiple records with the following structure: {| class="article-table" !Description !Size !Note |- |Field ID |2 |- |Field size |2 |Size of the data part |- |Field data… |size |Actual field content |} Every field data format is based on the field type. Currently, there are only 3 predefined field data types: integer, string and binary. =Transaction Types (with Type ID)= This is the list of all transactions in the current version of Hotline software: {| class="article-table" !ID !Type !Initiator !Constant |- |100 |Error |? | |myTran_Error |- |101 |Get messages |Client |myTran_GetMsgs |- |102 |New message | style="width: 66px;" | | style="width: 66px;" | Server | style="width: 187px;" | myTran_NewMsg |- | style="width: 49px;" | 103 | style="width: 222px;" | Old post news | style="width: 66px;" | Client | style="width: 66px;" | | style="width: 187px;" | myTran_OldPostNews |- | style="width: 49px;" | 104 | style="width: 222px;" | Server message | style="width: 66px;" | | style="width: 66px;" | Server | style="width: 187px;" | myTran_ServerMsg |- | style="width: 49px;" | 105 | style="width: 222px;" | Send chat | style="width: 66px;" | Client | style="width: 66px;" | | style="width: 187px;" | myTran_ChatSend |- | style="width: 49px;" | 106 | style="width: 222px;" | Chat message | style="width: 66px;" | | style="width: 66px;" | Server | style="width: 187px;" | myTran_ChatMsg |- | style="width: 49px;" | 107 | style="width: 222px;" | Login | style="width: 66px;" | Client | style="width: 66px;" | | style="width: 187px;" | myTran_Login |- | style="width: 49px;" | 108 | style="width: 222px;" | Send instant message | style="width: 66px;" | Client | style="width: 66px;" | | style="width: 187px;" | myTran_SendInstantMsg |- | style="width: 49px;" | 109 | style="width: 222px;" | Show agreement | style="width: 66px;" | | style="width: 66px;" | Server | style="width: 187px;" | myTran_ShowAgreement |- | style="width: 49px;" | 110 | style="width: 222px;" | Disconnect user | style="width: 66px;" | Client | style="width: 66px;" | | style="width: 187px;" | myTran_DisconnectUser |- | style="width: 49px;" | 111 | style="width: 222px;" | Disconnect message | style="width: 66px;" | | style="width: 66px;" | Server | style="width: 187px;" | myTran_DisconnectMsg |- | style="width: 49px;" | 112 | style="width: 222px;" | Invite to a new chat | style="width: 66px;" | Client | style="width: 66px;" | | style="width: 187px;" | myTran_InviteNewChat |- | style="width: 49px;" | 113 | style="width: 222px;" | Invite to chat | style="width: 66px;" | Client | style="width: 66px;" | Server | style="width: 187px;" | myTran_InviteToChat |- | style="width: 49px;" | 114 | style="width: 222px;" | Reject chat invite | style="width: 66px;" | Client | style="width: 66px;" | | style="width: 187px;" | myTran_RejectChatInvite |- | style="width: 49px;" | 115 | style="width: 222px;" | Join chat | style="width: 66px;" | Client | style="width: 66px;" | | style="width: 187px;" | myTran_JoinChat |- | style="width: 49px;" | 116 | style="width: 222px;" | Leave chat | style="width: 66px;" | Client | style="width: 66px;" | | style="width: 187px;" | myTran_LeaveChat |- | style="width: 49px;" | 117 | style="width: 222px;" | Notify chat of a user change | style="width: 66px;" | | style="width: 66px;" | Server | style="width: 187px;" | myTran_NotifyChatChangeUser |- | style="width: 49px;" | 118 | style="width: 222px;" | Notify chat of a delete user | style="width: 66px;" | | style="width: 66px;" | Server | style="width: 187px;" | myTran_NotifyChatDeleteUser |- | style="width: 49px;" | 119 | style="width: 222px;" | Notify of a chat subject | style="width: 66px;" | | style="width: 66px;" | Server | style="width: 187px;" | myTran_NotifyChatSubject |- | style="width: 49px;" | 120 | style="width: 222px;" | Set chat subject | style="width: 66px;" | Client | style="width: 66px;" | | style="width: 187px;" | myTran_SetChatSubject |- | style="width: 49px;" | 121 | style="width: 222px;" | Agreed | style="width: 66px;" | Client | style="width: 66px;" | | style="width: 187px;" | myTran_Agreed |- | style="width: 49px;" | 122 | style="width: 222px;" | Server banner | style="width: 66px;" | | style="width: 66px;" | Server | style="width: 187px;" | myTran_ServerBanner |- | style="width: 49px;" | 200 | style="width: 222px;" | Get file name list | style="width: 66px;" | Client | style="width: 66px;" | | style="width: 187px;" | myTran_GetFileNameList |- | style="width: 49px;" | 202 | style="width: 222px;" | Download file | style="width: 66px;" | Client | style="width: 66px;" | | style="width: 187px;" | myTran_DownloadFile |- | style="width: 49px;" | 203 | style="width: 222px;" | Upload file | style="width: 66px;" | Client | style="width: 66px;" | | style="width: 187px;" | myTran_UploadFile |- | style="width: 49px;" | 204 | style="width: 222px;" | Delete file | style="width: 66px;" | Client | style="width: 66px;" | | style="width: 187px;" | myTran_DeleteFile |- | style="width: 49px;" | 205 | style="width: 222px;" | New folder | style="width: 66px;" | Client | style="width: 66px;" | | style="width: 187px;" | myTran_NewFolder |- | style="width: 49px;" | 206 | style="width: 222px;" | Get file info | style="width: 66px;" | Client | style="width: 66px;" | | style="width: 187px;" | myTran_GetFileInfo |- | style="width: 49px;" | 207 | style="width: 222px;" | Set file info | style="width: 66px;" | Client | style="width: 66px;" | | style="width: 187px;" | myTran_SetFileInfo |- | style="width: 49px;" | 208 | style="width: 222px;" | Move file | style="width: 66px;" | Client | style="width: 66px;" | | style="width: 187px;" | myTran_MoveFile |- | style="width: 49px;" | 209 | style="width: 222px;" | Make file alias | style="width: 66px;" | Client | style="width: 66px;" | | style="width: 187px;" | myTran_MakeFileAlias |- | style="width: 49px;" | 210 | style="width: 222px;" | Download folder | style="width: 66px;" | Client | style="width: 66px;" | | style="width: 187px;" | myTran_DownloadFldr |- | style="width: 49px;" | 211 | style="width: 222px;" | Download info | style="width: 66px;" | | style="width: 66px;" | Server | style="width: 187px;" | myTran_DownloadInfo |- | style="width: 49px;" | 212 | style="width: 222px;" | Download banner | style="width: 66px;" | Client | style="width: 66px;" | | style="width: 187px;" | myTran_DownloadBanner |- | style="width: 49px;" | 213 | style="width: 222px;" | Upload folder | style="width: 66px;" | Client | style="width: 66px;" | | style="width: 187px;" | myTran_UploadFldr |- | style="width: 49px;" | 300 | style="width: 222px;" | Get user name list | style="width: 66px;" | Client | style="width: 66px;" | | style="width: 187px;" | myTran_GetUserNameList |- | style="width: 49px;" | 301 | style="width: 222px;" | Notify of a user change | style="width: 66px;" | | style="width: 66px;" | Server | style="width: 187px;" | myTran_NotifyChangeUser |- | style="width: 49px;" | 302 | style="width: 222px;" | Notify of a delete user | style="width: 66px;" | | style="width: 66px;" | Server | style="width: 187px;" | myTran_NotifyDeleteUser |- | style="width: 49px;" | 303 | style="width: 222px;" | Get client info text | style="width: 66px;" | Client | style="width: 66px;" | | style="width: 187px;" | myTran_GetClientInfoText |- | style="width: 49px;" | 304 | style="width: 222px;" | Set client user info | style="width: 66px;" | Client | style="width: 66px;" | | style="width: 187px;" | myTran_SetClientUserInfo |- | style="width: 49px;" | 350 | style="width: 222px;" | New user | style="width: 66px;" | Client | style="width: 66px;" | | style="width: 187px;" | myTran_NewUser |- | style="width: 49px;" | 351 | style="width: 222px;" | Delete user | style="width: 66px;" | Client | style="width: 66px;" | | style="width: 187px;" | myTran_DeleteUser |- | style="width: 49px;" | 352 | style="width: 222px;" | Get user | style="width: 66px;" | Client | style="width: 66px;" | | style="width: 187px;" | myTran_GetUser |- | style="width: 49px;" | 353 | style="width: 222px;" | Set user | style="width: 66px;" | Client | style="width: 66px;" | | style="width: 187px;" | myTran_SetUser |- | style="width: 49px;" | 354 | style="width: 222px;" | User access | style="width: 66px;" | | style="width: 66px;" | Server | style="width: 187px;" | myTran_UserAccess |- | style="width: 49px;" | 355 | style="width: 222px;" | User broadcast | style="width: 66px;" | Client | style="width: 66px;" | Server | style="width: 187px;" | myTran_UserBroadcast |- | style="width: 49px;" | 370 | style="width: 222px;" | Get news category name list | style="width: 66px;" | Client | style="width: 66px;" | | style="width: 187px;" | myTran_GetNewsCatNameList |- | style="width: 49px;" | 371 | style="width: 222px;" | Get news article name list | style="width: 66px;" | Client | style="width: 66px;" | | style="width: 187px;" | myTran_GetNewsArtNameList |- | style="width: 49px;" | 380 | style="width: 222px;" | Delete news item | style="width: 66px;" | Client | style="width: 66px;" | | style="width: 187px;" | myTran_DelNewsItem |- | style="width: 49px;" | 381 | style="width: 222px;" | New news folder | style="width: 66px;" | Client | style="width: 66px;" | | style="width: 187px;" | myTran_NewNewsFldr |- | style="width: 49px;" | 382 | style="width: 222px;" | New news category | style="width: 66px;" | Client | style="width: 66px;" | | style="width: 187px;" | myTran_NewNewsCat |- | style="width: 49px;" | 400 | style="width: 222px;" | Get news article data | style="width: 66px;" | Client | style="width: 66px;" | | style="width: 187px;" | myTran_GetNewsArtData |- | style="width: 49px;" | 410 | style="width: 222px;" | Post news article | style="width: 66px;" | Client | style="width: 66px;" | | style="width: 187px;" | myTran_PostNewsArt |- | style="width: 49px;" | 411 | style="width: 222px;" | Delete news article | style="width: 66px;" | Client | style="width: 66px;" | | style="width: 187px;" | myTran_DelNewsArt |- | style="width: 49px;" | 500 | style="width: 222px;" | Connection keep alive | style="width: 66px;" | | style="width: 66px;" | | style="width: 187px;" | myTran_KeepConnectionAlive |} The following are the lists of related transactions that are implemented in the new version of Hotline software: {| border="1" cellpadding="0" cellspacing="0" | colspan="4" style="width: 590px;" | ===User Login and Management=== |- | style="width: 49px;" | ID | style="width: 222px;" | Type | style="width: 84px;" | Initiator | style="width: 235px;" | Note |- | style="width: 49px;" | 107 | style="width: 222px;" | Login | style="width: 84px;" | Client | style="width: 235px;" | |- | style="width: 49px;" | 109 | style="width: 222px;" | Show agreement | style="width: 84px;" | Server | style="width: 235px;" | |- | style="width: 49px;" | 121 | style="width: 222px;" | Agreed | style="width: 84px;" | Client | style="width: 235px;" | |- | style="width: 49px;" | 304 | style="width: 222px;" | Set client user info | style="width: 84px;" | Client | style="width: 235px;" | |- | style="width: 49px;" | 301 | style="width: 222px;" | Notify of a user change | style="width: 84px;" | Server | style="width: 235px;" | |- | style="width: 49px;" | 300 | style="width: 222px;" | Get user name list | style="width: 84px;" | Client | style="width: 235px;" | |- | style="width: 49px;" | 302 | style="width: 222px;" | Notify of a delete user | style="width: 84px;" | Server | style="width: 235px;" | |} {| border="1" cellpadding="0" cellspacing="0" | colspan="4" style="width: 590px;" | ===Chat Transactions=== |- | style="width: 49px;" | ID | style="width: 222px;" | Type | style="width: 84px;" | Initiator | style="width: 235px;" | Note |- | style="width: 49px;" | 115 | style="width: 222px;" | Join chat | style="width: 84px;" | Client | style="width: 235px;" | |- | style="width: 49px;" | 112 | style="width: 222px;" | Invite to a new chat | style="width: 84px;" | Client | style="width: 235px;" | |- | style="width: 49px;" | 113 | style="width: 222px;" | Invite to chat | style="width: 84px;" | Client/Server | style="width: 235px;" | |- | style="width: 49px;" | 114 | style="width: 222px;" | Reject chat invite | style="width: 84px;" | Client | style="width: 235px;" | |- | style="width: 49px;" | 117 | style="width: 222px;" | Notify chat of a user change | style="width: 84px;" | Server | style="width: 235px;" | |- | style="width: 49px;" | 116 | style="width: 222px;" | Leave chat | style="width: 84px;" | Client | style="width: 235px;" | |- | style="width: 49px;" | 118 | style="width: 222px;" | Notify chat of a delete user | style="width: 84px;" | Server | style="width: 235px;" | |- | style="width: 49px;" | 120 | style="width: 222px;" | Set chat subject | style="width: 84px;" | Client | style="width: 235px;" | |- | style="width: 49px;" | 119 | style="width: 222px;" | Notify of a chat subject | style="width: 84px;" | Server | style="width: 235px;" | |- | style="width: 49px;" | 105 | style="width: 222px;" | Send chat | style="width: 84px;" | Client | style="width: 235px;" | |- | style="width: 49px;" | 106 | style="width: 222px;" | Chat message | style="width: 84px;" | Server | style="width: 235px;" | |} {| border="1" cellpadding="0" cellspacing="0" | colspan="4" style="width: 590px;" | ===Messaging Transactions=== |- | style="width: 49px;" | ID | style="width: 222px;" | Type | style="width: 84px;" | Initiator | style="width: 235px;" | Note |- | style="width: 49px;" | 104 | style="width: 222px;" | Server message | style="width: 84px;" | Server | style="width: 235px;" | |- | style="width: 49px;" | 108 | style="width: 222px;" | Send instant message | style="width: 84px;" | Client | style="width: 235px;" | |} ==Transaction Description== Transaction types are described using the following format: '''''Constant''': Constant identifier used in the old version of the application.'' '''''Access''': Specifies access privilege required to perform the transaction.'' '''''Initiator''': Specifies transaction initiator (client or server).'' '''''Fields used in the request''': List of fields sent by the transaction initiator.'' '''''Fields used in the reply''': List of fields sent back to the transaction initiator.'' '''''Reply is not sent''': Receiver of transaction is not sending reply.'' '''Reply is not expected''': Sender of transaction is not expecting reply. '''Error (100)''' Constant: myTran_Error Initiator: None (?) '''Get Messages (101)''' Constant: myTran_GetMsgs Initiator: Client Fields used in the request: None Fields used in the reply: {| border="1" cellpadding="0" cellspacing="0" | style="width: 43px;" | '''ID''' | style="width: 96px;" | Field Name | style="width: 451px;" | Note |- | style="width: 43px;" | 101 | style="width: 96px;" | Data | style="width: 451px;" | Message text |} '''New Message (102)''' Constant: myTran_NewMsg Initiator: Server Fields used in the request: {| border="1" cellpadding="0" cellspacing="0" | style="width: 43px;" | '''ID''' | style="width: 96px;" | Field Name | style="width: 451px;" | Note |- | style="width: 43px;" | 101 | style="width: 96px;" | Data | style="width: 451px;" | News text |} Reply is not sent. '''Old Post News (103)''' Constant: myTran_OldPostNews Access: News Post Article (21) Initiator: Client Fields used in the request: {| border="1" cellpadding="0" cellspacing="0" | style="width: 43px;" | '''ID''' | style="width: 96px;" | Field Name | style="width: 451px;" | Note |- | style="width: 43px;" | 101 | style="width: 96px;" | Data | style="width: 451px;" | |} Fields used in the reply: None '''Server Message (104)''' Constant: myTran_ServerMsg Initiator: Server Receive a message from the user on the current server, server’s administrator, or server software itself. Fields used in the request: {| border="1" cellpadding="0" cellspacing="0" | style="width: 43px;" | '''ID''' | style="width: 114px;" | Field Name | style="width: 433px;" | Note |- | style="width: 43px;" | 103 | style="width: 114px;" | User ID | style="width: 433px;" | |- | style="width: 43px;" | 102 | style="width: 114px;" | User name | style="width: 433px;" | |- | style="width: 43px;" | 113 | style="width: 114px;" | Options | style="width: 433px;" | Bitmap created by combining the following values: - Automatic response (4) - Refuse private chat (2) - Refuse private message (1) |- | style="width: 43px;" | 101 | style="width: 114px;" | Data | style="width: 433px;" | Message to display |- | style="width: 43px;" | 214 | style="width: 114px;" | Quoting message | style="width: 433px;" | Message to quote |} If User ID (103) field is not sent, receiver assumes that sender uses the following fields: {| border="1" cellpadding="0" cellspacing="0" | style="width: 43px;" | '''ID''' | style="width: 96px;" | Field Name | style="width: 451px;" | Note |- | style="width: 43px;" | 101 | style="width: 96px;" | Data | style="width: 451px;" | |- | style="width: 43px;" | 109 | style="width: 96px;" | Chat options | style="width: 451px;" | Server message (1) or admin message (any other value) |} Reply is not sent. '''Send Chat (105)''' Constant: myTran_ChatSend Access: Send Chat (10) Initiator: Client Send a chat message to the chat. Fields used in the request: {| border="1" cellpadding="0" cellspacing="0" | style="width: 43px;" | '''ID''' | style="width: 96px;" | Field Name | style="width: 451px;" | Note |- | style="width: 43px;" | 109 | style="width: 96px;" | Chat options | style="width: 451px;" | Optional Normal (0) or alternate (1) chat message |- | style="width: 43px;" | 114 | style="width: 96px;" | Chat ID | style="width: 451px;" | Optional |- | style="width: 43px;" | 101 | style="width: 96px;" | Data | style="width: 451px;" | Chat message string |} Reply is not expected. Note: While the chat message data can have a theoretical length of 32KB, many servers will clip the text to some length (server dependent) far before this point. Best practice is to not allow the client to send more than 4KB in one chat message. '''Chat Message (106)''' Constant: myTran_ChatMsg Initiator: Server Receive a chat message from the chat. Fields used in the request: {| border="1" cellpadding="0" cellspacing="0" | style="width: 43px;" | '''ID''' | style="width: 96px;" | Field Name | style="width: 451px;" | Note |- | style="width: 43px;" | 114 | style="width: 96px;" | Chat ID | style="width: 451px;" | |- | style="width: 43px;" | 101 | style="width: 96px;" | Data | style="width: 451px;" | Chat text |} If Chat ID is not available, the Data field contains: {| border="1" cellpadding="0" cellspacing="0" | style="width: 43px;" | '''ID''' | style="width: 96px;" | Field Name | style="width: 451px;" | Note |- | style="width: 43px;" | 101 | style="width: 96px;" | Data | style="width: 451px;" | Special chat message |} Reply is not sent. '''Login (107)''' Constant: myTran_Login Initiator: Client Start login sequence with the server (see ''Transaction Sequences''). Fields used in the request: {| border="1" cellpadding="0" cellspacing="0" | style="width: 43px;" | '''ID''' | style="width: 96px;" | Field Name | style="width: 451px;" | Note |- | style="width: 43px;" | 105 | style="width: 96px;" | User login | style="width: 451px;" | |- | style="width: 43px;" | 106 | style="width: 96px;" | User password | style="width: 451px;" | |- | style="width: 43px;" | 160 | style="width: 96px;" | Version | style="width: 451px;" | Currently 151 |} Fields used in the reply: {| border="1" cellpadding="0" cellspacing="0" | style="width: 43px;" | ID | style="width: 96px;" | Field Name | style="width: 451px;" | Note |- | style="width: 43px;" | 160 | style="width: 96px;" | Version | style="width: 451px;" | |} If Version is >= 151, additional fields are included: {| border="1" cellpadding="0" cellspacing="0" | style="width: 43px;" | ID | style="width: 96px;" | Field Name | style="width: 451px;" | Note |- | style="width: 43px;" | 161 | style="width: 96px;" | Banner ID | style="width: 451px;" | Used for making HTTP request to get banner |- | style="width: 43px;" | 162 | style="width: 96px;" | Server name | style="width: 451px;" | Server name string |} If server version is < 151, client sends Set Client User Info (304) transaction with only User Name (102) and User Icon ID (104) fields used, and does not expect a reply. It does not expect agreement to be received (109). Subsequently, it sends Get User Name List (300) request, followed by Get File Name List (200) or Get News Category Name List (370), depending on user preferences. After that, a banner is requested from HTTP server. '''Send Instant Message (108)''' Constant: myTran_SendInstantMsg Initiator: Client Send instant message to the user on the current server. Fields used in the request: {| border="1" cellpadding="0" cellspacing="0" | style="width: 43px;" | ID | style="width: 114px;" | Field Name | style="width: 433px;" | Note |- | style="width: 43px;" | 103 | style="width: 114px;" | User ID | style="width: 433px;" | |- | style="width: 43px;" | 113 | style="width: 114px;" | Options | style="width: 433px;" | One of the following values: - User message (myOpt_UserMessage = 1) - Refuse message (myOpt_RefuseMessage = 2) - Refuse chat (myOpt_RefuseChat = 3) - Automatic response (myOpt_AutomaticResponse = 4) |- | style="width: 43px;" | 101 | style="width: 114px;" | Data | style="width: 433px;" | Optional |- | style="width: 43px;" | 214 | style="width: 114px;" | Quoting message | style="width: 433px;" | Optional |} Fields used in the reply: None '''Show Agreement (109)''' Constant: myTran_ShowAgreement Initiator: Server Receive agreement that will be presented to the user of the client application. This transaction is part of the login sequence (see ''Transaction Sequences''). Fields used in the request: {| border="1" cellpadding="0" cellspacing="0" | style="width: 43px;" | '''ID''' | style="width: 132px;" | Field Name | style="width: 415px;" | Note |- | style="width: 43px;" | 101 | style="width: 132px;" | Data | style="width: 415px;" | Agreement string |- | style="width: 43px;" | 154 | style="width: 132px;" | No server agreement | style="width: 415px;" | Optional No agreement available (1) |- | style="width: 43px;" | 152 | style="width: 132px;" | Server banner type | style="width: 415px;" | |- | style="width: 43px;" | 153 | style="width: 132px;" | Server banner URL | style="width: 415px;" | Optional If banner type is URL (1) |- | style="width: 43px;" | 151 | style="width: 132px;" | Server banner | style="width: 415px;" | Optional If banner type is not URL (1) |} Reply is not sent. '''Disconnect User (110)''' Constant: myTran_DisconnectUser Access: Disconnect User (22) Initiator: Client Disconnect user from the current server. Fields used in the request: {| border="1" cellpadding="0" cellspacing="0" | style="width: 43px;" | ID | style="width: 96px;" | Field Name | style="width: 451px;" | Note |- | style="width: 43px;" | 103 | style="width: 96px;" | User ID | style="width: 451px;" | |- | style="width: 43px;" | 113 | style="width: 96px;" | Options | style="width: 451px;" | Optional Ban options |- | style="width: 43px;" | 101 | style="width: 96px;" | Data | style="width: 451px;" | Optional Name? |} Fields used in the reply: None '''Disconnect Message (111)''' Constant: myTran_DisconnectMsg Initiator: Server Receive disconnect message from the server. Upon receiving this transaction, client should close the connection with server. Fields used in the request: {| border="1" cellpadding="0" cellspacing="0" | style="width: 43px;" | ID | style="width: 114px;" | Field Name | style="width: 433px;" | Note |- | style="width: 43px;" | 101 | style="width: 114px;" | Data | style="width: 433px;" | Message to display on disconnect (mandatory) |} Reply is not sent. '''Invite New Chat (112)''' Constant: myTran_InviteNewChat Initiator: Client Invite users to the new chat. Fields used in the request: {| border="1" cellpadding="0" cellspacing="0" | style="width: 43px;" | '''ID''' | style="width: 96px;" | Field Name | style="width: 451px;" | Note |- | style="width: 43px;" | 103 | style="width: 96px;" | User ID | style="width: 451px;" | Optional |- | style="width: 43px;" | 103 … | style="width: 96px;" | User ID … | style="width: 451px;" | Optional More user IDs… |} Fields used in the reply: {| border="1" cellpadding="0" cellspacing="0" | style="width: 43px;" | ID | style="width: 114px;" | Field Name | style="width: 433px;" | Note |- | style="width: 43px;" | 103 | style="width: 114px;" | User ID | style="width: 433px;" | |- | style="width: 43px;" | 104 | style="width: 114px;" | User icon ID | style="width: 433px;" | |- | style="width: 43px;" | 112 | style="width: 114px;" | User flags | style="width: 433px;" | |- | style="width: 43px;" | 102 | style="width: 114px;" | User name | style="width: 433px;" | |- | style="width: 43px;" | 114 | style="width: 114px;" | Chat ID | style="width: 433px;" | |} '''Invite To Chat (113)''' Constant: myTran_InviteToChat Initiator: Client Invite user to the existing chat. Fields used in the request: {| border="1" cellpadding="0" cellspacing="0" | style="width: 43px;" | ID | style="width: 96px;" | Field Name | style="width: 451px;" | Note |- | style="width: 43px;" | 103 | style="width: 96px;" | User ID | style="width: 451px;" | User to invite |- | style="width: 43px;" | 114 | style="width: 96px;" | Chat ID | style="width: 451px;" | |} Reply is not expected. The server can also be an initiator of this transaction. Initiator: Server Fields used in the request: {| border="1" cellpadding="0" cellspacing="0" | style="width: 43px;" | ID | style="width: 96px;" | Field Name | style="width: 451px;" | Note |- | style="width: 43px;" | 114 | style="width: 96px;" | Chat ID | style="width: 451px;" | |- | style="width: 43px;" | 103 | style="width: 96px;" | User ID | style="width: 451px;" | User to invite |- | style="width: 43px;" | 102 | style="width: 96px;" | User name | style="width: 451px;" | |} Reply is not sent. When client receives this message from the sever with version < 151, and client has automatic response or reject chat flag set, Reject Chat Invite (114) transaction is sent back to the server. '''Reject Chat Invite (114)''' Constant: myTran_RejectChatInvite Initiator: Client Reject invitation to join the chat. Fields used in the request: {| border="1" cellpadding="0" cellspacing="0" | style="width: 43px;" | '''ID''' | style="width: 96px;" | Field Name | style="width: 451px;" | Note |- | style="width: 43px;" | 114 | style="width: 96px;" | Chat ID | style="width: 451px;" | |} Reply is not expected. '''Join Chat (115)''' Constant: myTran_JoinChat Initiator: Client Join the chat. Fields used in the request: {| border="1" cellpadding="0" cellspacing="0" | style="width: 43px;" | '''ID''' | style="width: 96px;" | Field Name | style="width: 451px;" | Note |- | style="width: 43px;" | 114 | style="width: 96px;" | Chat ID | style="width: 451px;" | |} Fields used in the reply: {| border="1" cellpadding="0" cellspacing="0" | style="width: 43px;" | ID | style="width: 126px;" | Field Name | style="width: 421px;" | Note |- | style="width: 43px;" | 115 | style="width: 126px;" | Chat subject | style="width: 421px;" | |- | style="width: 43px;" | 300 | style="width: 126px;" | User name with info | style="width: 421px;" | Optional |- | style="width: 43px;" | 300 … | style="width: 126px;" | User name with info … | style="width: 421px;" | Optional More user names with info |} '''Leave Chat (116)''' Constant: myTran_LeaveChat Initiator: Client Leave the chat. Fields used in the request: {| border="1" cellpadding="0" cellspacing="0" | style="width: 43px;" | '''ID''' | style="width: 96px;" | Field Name | style="width: 451px;" | Note |- | style="width: 43px;" | 114 | style="width: 96px;" | Chat ID | style="width: 451px;" | |} Reply is not expected. '''Notify Chat Change User (117)''' Constant: myTran_NotifyChatChangeUser Initiator: Server Notify the user of the chat that the information for some another user changed, or that a new user just joined the chat. This information should be added to (user joined the chat), or updated (user changed its info) in the chat user list. Fields used in the request: {| border="1" cellpadding="0" cellspacing="0" | style="width: 43px;" | ID | style="width: 114px;" | Field Name | style="width: 433px;" | Note |- | style="width: 43px;" | 114 | style="width: 114px;" | Chat ID | style="width: 433px;" | |- | style="width: 43px;" | 103 | style="width: 114px;" | User ID | style="width: 433px;" | |- | style="width: 43px;" | 104 | style="width: 114px;" | User icon ID | style="width: 433px;" | |- | style="width: 43px;" | 112 | style="width: 114px;" | User flags | style="width: 433px;" | |- | style="width: 43px;" | 102 | style="width: 114px;" | User name | style="width: 433px;" | |} Reply is not sent. In the Hotline implementation v1.8x, this transaction is in fact used only when the user joins the chat. The user information update done by Notify Change User (301) transaction is also applied to any chat rooms on the clients receiving the update. '''Notify Chat Delete User (118)''' Constant: myTran_NotifyChatDeleteUser Initiator: Server Notify the user of the chat that a user left that chat. The client should update the chat user list. Fields used in the request: {| border="1" cellpadding="0" cellspacing="0" | style="width: 43px;" | ID | style="width: 114px;" | Field Name | style="width: 433px;" | Note |- | style="width: 43px;" | 114 | style="width: 114px;" | Chat ID | style="width: 433px;" | |- | style="width: 43px;" | 103 | style="width: 114px;" | User ID | style="width: 433px;" | |} Reply is not sent. '''Notify Chat Subject (119)''' Constant: myTran_NotifyChatSubject Initiator: Server Notify the user of the chat of the chat subject. Fields used in the request: {| border="1" cellpadding="0" cellspacing="0" | style="width: 43px;" | '''ID''' | style="width: 96px;" | Field Name | style="width: 451px;" | Note |- | style="width: 43px;" | 114 | style="width: 96px;" | Chat ID | style="width: 451px;" | |- | style="width: 43px;" | 115 | style="width: 96px;" | Chat subject | style="width: 451px;" | Chat subject string |} Reply is not sent. '''Set Chat Subject (120)''' Constant: myTran_SetChatSubject Initiator: Client Set chat subject for the chat. Fields used in the request: {| border="1" cellpadding="0" cellspacing="0" | style="width: 43px;" | '''ID''' | style="width: 96px;" | Field Name | style="width: 451px;" | Note |- | style="width: 43px;" | 114 | style="width: 96px;" | Chat ID | style="width: 451px;" | |- | style="width: 43px;" | 115 | style="width: 96px;" | Chat subject | style="width: 451px;" | Chat subject string |} Reply is not expected. '''Agreed (121)''' Constant: myTran_Agreed Initiator: Client Notify the server that the user accepted the server agreement. Fields used in the request: {| border="1" cellpadding="0" cellspacing="0" | style="width: 43px;" | ID | style="width: 126px;" | Field Name | style="width: 421px;" | Note |- | style="width: 43px;" | 102 | style="width: 126px;" | User name | style="width: 421px;" | |- | style="width: 43px;" | 104 | style="width: 126px;" | User icon ID | style="width: 421px;" | |- | style="width: 43px;" | 113 | style="width: 126px;" | Options | style="width: 421px;" | Bitmap created by combining the following values: - Automatic response (4) - Refuse private chat (2) - Refuse private message (1) |- | style="width: 43px;" | 215 | style="width: 126px;" | Automatic response | style="width: 421px;" | Optional Automatic response string used only if the options field indicates this feature |} Fields used in the reply: None After receiving server’s acknowledgement, the client sends Get User Name List (300) request, followed by Get File Name List (200) or Get News Category Name List (370), depending on user preferences. '''Server Banner (122)''' Constant: myTran_ServerBanner Initiator: Server Notify the client that a new banner should be displayed. Fields used in the request: {| border="1" cellpadding="0" cellspacing="0" | style="width: 43px;" | '''ID''' | style="width: 132px;" | Field Name | style="width: 415px;" | Note |- | style="width: 43px;" | 152 | style="width: 132px;" | Server banner type | style="width: 415px;" | Uses only literal values |- | style="width: 43px;" | 153 | style="width: 132px;" | Server banner URL | style="width: 415px;" | Optional |} Reply is not sent. If banner type is URL, it is requested from that URL. Otherwise, the banner is requested from the server by Download Banner (212) request. This transaction uses only literal value constants in the banner type field (etc. ‘URL ‘, ‘JPEG’ or other). '''Get File Name List (200)''' Constant: myTran_GetFileNameList Initiator: Client Get the list of file names from the specified folder. Fields used in the request: {| border="1" cellpadding="0" cellspacing="0" | style="width: 43px;" | '''ID''' | style="width: 96px;" | Field Name | style="width: 451px;" | Note |- | style="width: 43px;" | 202 | style="width: 96px;" | File path | style="width: 451px;" | Optional If not specified, root folder assumed |} Fields used in the reply: {| border="1" cellpadding="0" cellspacing="0" | style="width: 43px;" | '''ID''' | style="width: 120px;" | Field Name | style="width: 427px;" | Note |- | style="width: 43px;" | 200 | style="width: 120px;" | File name with info | style="width: 427px;" | Optional |- | style="width: 43px;" | 200 … | style="width: 120px;" | File name with info … | style="width: 427px;" | Optional More file names with info |} '''Download File (202)''' Constant: myTran_DownloadFile Access: Download File (2) Initiator: Client Download the file from the specified path on the server. Fields used in the request: {| border="1" cellpadding="0" cellspacing="0" | style="width: 43px;" | ID | style="width: 120px;" | Field Name | style="width: 427px;" | Note |- | style="width: 43px;" | 201 | style="width: 120px;" | File name | style="width: 427px;" | |- | style="width: 43px;" | 202 | style="width: 120px;" | File path | style="width: 427px;" | |- | style="width: 43px;" | 203 | style="width: 120px;" | File resume data | style="width: 427px;" | Optional |- | style="width: 43px;" | 204 | style="width: 120px;" | File transfer options | style="width: 427px;" | Optional Currently set to 2 Used only for TEXT, JPEG, GIFF, BMP or PICT files |} Fields used in the reply: {| border="1" cellpadding="0" cellspacing="0" | style="width: 43px;" | ID | style="width: 114px;" | Field Name | style="width: 433px;" | Note |- | style="width: 43px;" | 108 | style="width: 114px;" | Transfer size | style="width: 433px;" | Size of data to be downloaded |- | style="width: 43px;" | 207 | style="width: 114px;" | File size | style="width: 433px;" | |- | style="width: 43px;" | 107 | style="width: 114px;" | Reference number | style="width: 433px;" | Used later for transfer |- | style="width: 43px;" | 116 | style="width: 114px;" | Waiting count | style="width: 433px;" | |} After receiving reply from the server, the client opens TCP (or HTTP) connection to base port + 1 (HTTP uses base port + 3). On successful establishment, client sends the following record using the new connection: {| border="1" cellpadding="0" cellspacing="0" | style="width: 115px;" | Description | style="width: 41px;" | Size | style="width: 64px;" | Data | style="width: 370px;" | Note |- | style="width: 115px;" | Protocol | style="width: 41px;" | 4 | style="width: 64px;" | ‘HTXF’ | style="width: 370px;" | 0x48545846 |- | style="width: 115px;" | Reference number | style="width: 41px;" | 4 | style="width: 64px;" | | style="width: 370px;" | Use reference number received from the server |- | style="width: 115px;" | Data size | style="width: 41px;" | 4 | style="width: 64px;" | 0 | style="width: 370px;" | |- | style="width: 115px;" | RSVD | style="width: 41px;" | 4 | style="width: 64px;" | 0 | style="width: 370px;" | ? |} After this, server sends the flattened file object (see ''Flattened File Object'') using this new TCP connection. '''Upload File (203)''' Constant: myTran_UploadFile Access: Upload File (1) Initiator: Client Upload a file to the specified path on the server. Fields used in the request: {| border="1" cellpadding="0" cellspacing="0" | style="width: 43px;" | ID | style="width: 120px;" | Field Name | style="width: 427px;" | Note |- | style="width: 43px;" | 201 | style="width: 120px;" | File name | style="width: 427px;" | |- | style="width: 43px;" | 202 | style="width: 120px;" | File path | style="width: 427px;" | |- | style="width: 43px;" | 204 | style="width: 120px;" | File transfer options | style="width: 427px;" | Optional Used only to resume download, currently has value 2 |- | style="width: 43px;" | 108 | style="width: 120px;" | File transfer size | style="width: 427px;" | Optional Used if download is not resumed |} Fields used in the reply: {| border="1" cellpadding="0" cellspacing="0" | style="width: 43px;" | ID | style="width: 114px;" | Field Name | style="width: 433px;" | Note |- | style="width: 43px;" | 203 | style="width: 114px;" | File resume data | style="width: 433px;" | Optional Used only to resume download |- | style="width: 43px;" | 107 | style="width: 114px;" | Reference number | style="width: 433px;" | |} After receiving reply from the server, the client opens TCP (or HTTP) connection to base port + 1 (HTTP uses base port + 3). On successful establishment, client sends the following record using the new connection: {| border="1" cellpadding="0" cellspacing="0" | style="width: 115px;" | Description | style="width: 41px;" | Size | style="width: 64px;" | Data | style="width: 370px;" | Note |- | style="width: 115px;" | Protocol | style="width: 41px;" | 4 | style="width: 64px;" | ‘HTXF’ | style="width: 370px;" | 0x48545846 |- | style="width: 115px;" | Reference number | style="width: 41px;" | 4 | style="width: 64px;" | | style="width: 370px;" | Use reference number received from the server |- | style="width: 115px;" | Data size | style="width: 41px;" | 4 | style="width: 64px;" | | style="width: 370px;" | File size |- | style="width: 115px;" | RSVD | style="width: 41px;" | 4 | style="width: 64px;" | 0 | style="width: 370px;" | ? |} After this, client sends the flattened file object (see ''Flattened File Object'') using this new TCP connection. '''Delete File (204)''' Constant: myTran_DeleteFile Access: Delete File (0) or Delete Folder (6) Initiator: Client Delete the specific file from the server. Fields used in the request: {| border="1" cellpadding="0" cellspacing="0" | style="width: 43px;" | ID | style="width: 96px;" | Field Name | style="width: 451px;" | Note |- | style="width: 43px;" | 201 | style="width: 96px;" | File name | style="width: 451px;" | |- | style="width: 43px;" | 202 | style="width: 96px;" | File path | style="width: 451px;" | |} Fields used in the reply: None '''New Folder (205)''' Constant: myTran_NewFolder Access: Create Folder (5) Initiator: Client Create a new folder on the server. Fields used in the request: {| border="1" cellpadding="0" cellspacing="0" | style="width: 43px;" | ID | style="width: 96px;" | Field Name | style="width: 451px;" | Note |- | style="width: 43px;" | 201 | style="width: 96px;" | File name | style="width: 451px;" | |- | style="width: 43px;" | 202 | style="width: 96px;" | File path | style="width: 451px;" | |} Fields used in the reply: None '''Get File Info (206)''' Constant: myTran_GetFileInfo Initiator: Client Request file information from the server. Fields used in the request: {| border="1" cellpadding="0" cellspacing="0" | style="width: 43px;" | ID | style="width: 96px;" | Field Name | style="width: 451px;" | Note |- | style="width: 43px;" | 201 | style="width: 96px;" | File name | style="width: 451px;" | |- | style="width: 43px;" | 202 | style="width: 96px;" | File path | style="width: 451px;" | Optional |} Fields used in the reply: {| border="1" cellpadding="0" cellspacing="0" | style="width: 43px;" | ID | style="width: 108px;" | Field Name | style="width: 439px;" | Note |- | style="width: 43px;" | 201 | style="width: 108px;" | File name | style="width: 439px;" | |- | style="width: 43px;" | 205 | style="width: 108px;" | File type string | style="width: 439px;" | |- | style="width: 43px;" | 206 | style="width: 108px;" | File creator string | style="width: 439px;" | |- | style="width: 43px;" | 210 | style="width: 108px;" | File comment | style="width: 439px;" | Comment string |- | style="width: 43px;" | 213 | style="width: 108px;" | File type | style="width: 439px;" | |- | style="width: 43px;" | 208 | style="width: 108px;" | File create date | style="width: 439px;" | |- | style="width: 43px;" | 209 | style="width: 108px;" | File modify date | style="width: 439px;" | |- | style="width: 43px;" | 207 | style="width: 108px;" | File size | style="width: 439px;" | |} '''Set File Info (207)''' Constant: myTran_SetFileInfo Access: Set File Comment (28) or Set Folder Comment (29) Initiator: Client Set information for the specified file on the server. Fields used in the request: {| border="1" cellpadding="0" cellspacing="0" | style="width: 43px;" | ID | style="width: 96px;" | Field Name | style="width: 451px;" | Note |- | style="width: 43px;" | 201 | style="width: 96px;" | File name | style="width: 451px;" | |- | style="width: 43px;" | 202 | style="width: 96px;" | File path | style="width: 451px;" | Optional |- | style="width: 43px;" | 211 | style="width: 96px;" | File new name | style="width: 451px;" | Optional |- | style="width: 43px;" | 210 | style="width: 96px;" | File comment | style="width: 451px;" | Optional |} Fields used in the reply: None '''Move File (208)''' Constant: myTran_MoveFile Initiator: Client Move the file from one folder to another on the same server. Fields used in the request: {| border="1" cellpadding="0" cellspacing="0" | style="width: 43px;" | ID | style="width: 96px;" | Field Name | style="width: 451px;" | Note |- | style="width: 43px;" | 201 | style="width: 96px;" | File name | style="width: 451px;" | |- | style="width: 43px;" | 202 | style="width: 96px;" | File path | style="width: 451px;" | |- | style="width: 43px;" | 212 | style="width: 96px;" | File new path | style="width: 451px;" | |} Fields used in the reply: None '''Make File Alias (209)''' Constant: myTran_MakeFileAlias Access: Make Alias (31) Initiator: Client Make the file alias using the specified path. Fields used in the request: {| border="1" cellpadding="0" cellspacing="0" | style="width: 43px;" | ID | style="width: 96px;" | Field Name | style="width: 451px;" | Note |- | style="width: 43px;" | 201 | style="width: 96px;" | File name | style="width: 451px;" | |- | style="width: 43px;" | 202 | style="width: 96px;" | File path | style="width: 451px;" | |- | style="width: 43px;" | 212 | style="width: 96px;" | File new path | style="width: 451px;" | Destination path |} Fields used in the reply: None '''Download Folder (210)''' Constant: myTran_DownloadFldr Access: Download File (2) Initiator: Client Download all files from the specified folder and its subfolders on the server. Fields used in the request: {| border="1" cellpadding="0" cellspacing="0" | style="width: 43px;" | ID | style="width: 120px;" | Field Name | style="width: 427px;" | Note |- | style="width: 43px;" | 201 | style="width: 120px;" | File name | style="width: 427px;" | |- | style="width: 43px;" | 202 | style="width: 120px;" | File path | style="width: 427px;" | |} Fields used in the reply: {| border="1" cellpadding="0" cellspacing="0" | style="width: 43px;" | ID | style="width: 114px;" | Field Name | style="width: 433px;" | Note |- | style="width: 43px;" | 220 | style="width: 114px;" | Folder item count | style="width: 433px;" | |- | style="width: 43px;" | 107 | style="width: 114px;" | Reference number | style="width: 433px;" | Used later for transfer |- | style="width: 43px;" | 108 | style="width: 114px;" | Transfer size | style="width: 433px;" | Size of data to be downloaded |- | style="width: 43px;" | 116 | style="width: 114px;" | Waiting count | style="width: 433px;" | |} After receiving reply from the server, the client opens TCP (or HTTP) connection to base port + 1 (HTTP uses base port + 3). On successful establishment, client sends the following record using the new connection: {| border="1" cellpadding="0" cellspacing="0" | style="width: 139px;" | Description | style="width: 39px;" | Size | style="width: 61px;" | Data | style="width: 351px;" | Note |- | style="width: 139px;" | Protocol | style="width: 39px;" | 4 | style="width: 61px;" | ‘HTXF’ | style="width: 351px;" | 0x48545846 |- | style="width: 139px;" | Reference number | style="width: 39px;" | 4 | style="width: 61px;" | | style="width: 351px;" | Use reference number received from the server |- | style="width: 139px;" | Data size | style="width: 39px;" | 4 | style="width: 61px;" | 0 | style="width: 351px;" | |- | style="width: 139px;" | Type | style="width: 39px;" | 2 | style="width: 61px;" | 1 | style="width: 351px;" | |- | style="width: 139px;" | RSVD | style="width: 39px;" | 2 | style="width: 61px;" | 0 | style="width: 351px;" | ? |- | style="width: 139px;" | Download folder action | style="width: 39px;" | 2 | style="width: 61px;" | 3 | style="width: 351px;" | Next file action (3) See ''Download folder actions'' |} For every item in the folder, server replies with: {| border="1" cellpadding="0" cellspacing="0" | style="width: 115px;" | Description | style="width: 41px;" | Size | style="width: 64px;" | Data | style="width: 370px;" | Note |- | style="width: 115px;" | Header size | style="width: 41px;" | 2 | style="width: 64px;" | | style="width: 370px;" | |- | style="width: 115px;" | Header data | style="width: 41px;" | size | style="width: 64px;" | | style="width: 370px;" | |} Header data contains the following: {| border="1" cellpadding="0" cellspacing="0" | style="width: 115px;" | Description | style="width: 41px;" | Size | style="width: 64px;" | Data | style="width: 370px;" | Note |- | style="width: 115px;" | Type | style="width: 41px;" | 2 | style="width: 64px;" | | style="width: 370px;" | ? |- | style="width: 115px;" | File path | style="width: 41px;" | rest | style="width: 64px;" | | style="width: 370px;" | |} After receiving this header client can reply in 3 ways. (1) If type is an odd number (unknown type?), or file download for the current file is completed: {| border="1" cellpadding="0" cellspacing="0" | style="width: 139px;" | Description | style="width: 39px;" | Size | style="width: 61px;" | Data | style="width: 351px;" | Note |- | style="width: 139px;" | Download folder action | style="width: 39px;" | 2 | style="width: 61px;" | 3 | style="width: 351px;" | Next file action (3) See ''Download folder actions'' |} This notifies the server to send next item header. (2) If download of a file is to be resumed: {| border="1" cellpadding="0" cellspacing="0" | style="width: 139px;" | Description | style="width: 39px;" | Size | style="width: 61px;" | Data | style="width: 351px;" | Note |- | style="width: 139px;" | Download folder action | style="width: 39px;" | 2 | style="width: 61px;" | 2 | style="width: 351px;" | Resume file transfer (2) See ''Download folder actions'' |- | style="width: 139px;" | Resume data size | style="width: 39px;" | 2 | style="width: 61px;" | | style="width: 351px;" | |- | style="width: 139px;" | File resume data | style="width: 39px;" | size | style="width: 61px;" | | style="width: 351px;" | See content for field (203) |} (3) Otherwise, file download is requested by: {| border="1" cellpadding="0" cellspacing="0" | style="width: 139px;" | Description | style="width: 39px;" | Size | style="width: 61px;" | Data | style="width: 351px;" | Note |- | style="width: 139px;" | Download folder action | style="width: 39px;" | 2 | style="width: 61px;" | 1 | style="width: 351px;" | Send file action (1) starts file download See ''Download folder actions'' |} When download is requested (case 2 or 3), server replies with: {| border="1" cellpadding="0" cellspacing="0" | style="width: 115px;" | Description | style="width: 41px;" | Size | style="width: 64px;" | Data | style="width: 370px;" | Note |- | style="width: 115px;" | File size | style="width: 41px;" | 4 | style="width: 64px;" | | style="width: 370px;" | |- | style="width: 115px;" | File content… | style="width: 41px;" | size | style="width: 64px;" | | style="width: 370px;" | Actual flattened file object (see ''Flattened File Object'') |} After every file download client could request next file: {| border="1" cellpadding="0" cellspacing="0" | style="width: 139px;" | Description | style="width: 39px;" | Size | style="width: 61px;" | Data | style="width: 351px;" | Note |- | style="width: 139px;" | Download folder action | style="width: 39px;" | 2 | style="width: 61px;" | 3 | style="width: 351px;" | Next file action (3) See ''Download folder actions'' |} This notifies the server to send next item header. '''Download Info (211)''' Constant: myTran_DownloadInfo Initiator: Server Notify the client that all download slots on the server are full. Fields used in the request: {| border="1" cellpadding="0" cellspacing="0" | style="width: 43px;" | ID | style="width: 114px;" | Field Name | style="width: 433px;" | Note |- | style="width: 43px;" | 107 | style="width: 114px;" | Reference number | style="width: 433px;" | Download reference number |- | style="width: 43px;" | 116 | style="width: 114px;" | Waiting count | style="width: 433px;" | Position in the server’s queue |} Reply is not sent. '''Download Banner (212)''' Constant: myTran_DownloadBanner Initiator: Client Request a new banner from the server. Fields used in the request: None Fields used in the reply: {| border="1" cellpadding="0" cellspacing="0" | style="width: 43px;" | ID | style="width: 114px;" | Field Name | style="width: 433px;" | Note |- | style="width: 43px;" | 107 | style="width: 114px;" | Reference number | style="width: 433px;" | Used later for transfer |- | style="width: 43px;" | 108 | style="width: 114px;" | Transfer size | style="width: 433px;" | Size of data to be downloaded |} After receiving reply from the server, the client opens TCP (or HTTP) connection to base port + 1 (HTTP uses base port + 3). On successful establishment, client sends the following record using the new connection: {| border="1" cellpadding="0" cellspacing="0" | style="width: 115px;" | Description | style="width: 41px;" | Size | style="width: 64px;" | Data | style="width: 370px;" | Note |- | style="width: 115px;" | Protocol | style="width: 41px;" | 4 | style="width: 64px;" | ‘HTXF’ | style="width: 370px;" | 0x48545846 |- | style="width: 115px;" | Reference number | style="width: 41px;" | 4 | style="width: 64px;" | | style="width: 370px;" | Use reference number received from the server |- | style="width: 115px;" | Data size | style="width: 41px;" | 4 | style="width: 64px;" | 0 | style="width: 370px;" | |- | style="width: 115px;" | Type | style="width: 41px;" | 2 | style="width: 64px;" | 2 | style="width: 370px;" | |- | style="width: 115px;" | RSVD | style="width: 41px;" | 2 | style="width: 64px;" | 0 | style="width: 370px;" | ? |} After this, server sends the file content using this new TCP connection. '''Upload Folder (213)''' Constant: myTran_UploadFldr Access: Upload File (1) Initiator: Client Upload all files from the local folder and its subfolders, to the specified path on the server. Fields used in the request: {| border="1" cellpadding="0" cellspacing="0" | style="width: 43px;" | ID | style="width: 120px;" | Field Name | style="width: 427px;" | Note |- | style="width: 43px;" | 201 | style="width: 120px;" | File name | style="width: 427px;" | |- | style="width: 43px;" | 202 | style="width: 120px;" | File path | style="width: 427px;" | |- | style="width: 43px;" | 108 | style="width: 120px;" | Transfer size | style="width: 427px;" | Total size of all items in the folder |- | style="width: 43px;" | 220 | style="width: 120px;" | Folder item count | style="width: 427px;" | |- | style="width: 43px;" | 204 | style="width: 120px;" | File transfer options | style="width: 427px;" | Optional Currently set to 1 |} Fields used in the reply: {| border="1" cellpadding="0" cellspacing="0" | style="width: 43px;" | ID | style="width: 114px;" | Field Name | style="width: 433px;" | Note |- | style="width: 43px;" | 107 | style="width: 114px;" | Reference number | style="width: 433px;" | Used later for transfer |} After receiving reply from the server, the client opens TCP (or HTTP) connection to base port + 1 (HTTP uses base port + 3). On successful establishment, client sends the following record using the new connection: {| border="1" cellpadding="0" cellspacing="0" | style="width: 115px;" | Description | style="width: 41px;" | Size | style="width: 64px;" | Data | style="width: 370px;" | Note |- | style="width: 115px;" | Protocol | style="width: 41px;" | 4 | style="width: 64px;" | ‘HTXF’ | style="width: 370px;" | 0x48545846 |- | style="width: 115px;" | Reference number | style="width: 41px;" | 4 | style="width: 64px;" | | style="width: 370px;" | Use reference number received from the server |- | style="width: 115px;" | Data size | style="width: 41px;" | 4 | style="width: 64px;" | 0 | style="width: 370px;" | |- | style="width: 115px;" | Type | style="width: 41px;" | 2 | style="width: 64px;" | 1 | style="width: 370px;" | |- | style="width: 115px;" | RSVD | style="width: 41px;" | 2 | style="width: 64px;" | 0 | style="width: 370px;" | ? |} Server can reply with: {| border="1" cellpadding="0" cellspacing="0" | style="width: 139px;" | Description | style="width: 39px;" | Size | style="width: 61px;" | Data | style="width: 351px;" | Note |- | style="width: 139px;" | Download folder action | style="width: 39px;" | 2 | style="width: 61px;" | 3 | style="width: 351px;" | Next file action (3) See ''Download folder actions'' |} After which client sends: {| border="1" cellpadding="0" cellspacing="0" | style="width: 115px;" | Description | style="width: 41px;" | Size | style="width: 64px;" | Data | style="width: 370px;" | Note |- | style="width: 115px;" | Data size | style="width: 41px;" | 2 | style="width: 64px;" | | style="width: 370px;" | Size of this structure (not including data size element itself) |- | style="width: 115px;" | Is folder | style="width: 41px;" | 2 | style="width: 64px;" | 0 or 1 | style="width: 370px;" | Is the following file path a folder |- | style="width: 115px;" | Path item count | style="width: 41px;" | 2 | style="width: 64px;" | | style="width: 370px;" | Number of items in the path |- | style="width: 115px;" | File name path… | style="width: 41px;" | | style="width: 64px;" | | style="width: 370px;" | |} File name path contains: {| border="1" cellpadding="0" cellspacing="0" | style="width: 115px;" | Description | style="width: 41px;" | Size | style="width: 64px;" | Data | style="width: 370px;" | Note |- | style="width: 115px;" | | style="width: 41px;" | 2 | style="width: 64px;" | 0 | style="width: 370px;" | Currently 0 |- | style="width: 115px;" | Name size | style="width: 41px;" | 1 | style="width: 64px;" | | style="width: 370px;" | |- | style="width: 115px;" | File/folder name | style="width: 41px;" | size | style="width: 64px;" | | style="width: 370px;" | |} After every file, server can send one of 3 requests. (1) Request next file: {| border="1" cellpadding="0" cellspacing="0" | style="width: 139px;" | Description | style="width: 39px;" | Size | style="width: 61px;" | Data | style="width: 351px;" | Note |- | style="width: 139px;" | Download folder action | style="width: 39px;" | 2 | style="width: 61px;" | 3 | style="width: 351px;" | Next file action (3) See ''Download folder actions'' |} This notifies the client to send next item. (2) Resume a file download procedure: {| border="1" cellpadding="0" cellspacing="0" | style="width: 139px;" | Description | style="width: 39px;" | Size | style="width: 61px;" | Data | style="width: 351px;" | Note |- | style="width: 139px;" | Download folder action | style="width: 39px;" | 2 | style="width: 61px;" | 2 | style="width: 351px;" | Resume file transfer (2) See ''Download folder actions'' |- | style="width: 139px;" | Resume data size | style="width: 39px;" | 2 | style="width: 61px;" | | style="width: 351px;" | |- | style="width: 139px;" | File resume data | style="width: 39px;" | size | style="width: 61px;" | | style="width: 351px;" | See content for field (203) |} After receiving this request, client starts sending file content from the requested location in the file. (3) Request a file download: {| border="1" cellpadding="0" cellspacing="0" | style="width: 139px;" | Description | style="width: 39px;" | Size | style="width: 61px;" | Data | style="width: 351px;" | Note |- | style="width: 139px;" | Download folder action | style="width: 39px;" | 2 | style="width: 61px;" | 1 | style="width: 351px;" | Send file action (1) starts file download See ''Download folder actions'' |} Client replies to download requests with: {| border="1" cellpadding="0" cellspacing="0" | style="width: 115px;" | Description | style="width: 41px;" | Size | style="width: 64px;" | Data | style="width: 370px;" | Note |- | style="width: 115px;" | File size | style="width: 41px;" | 4 | style="width: 64px;" | | style="width: 370px;" | Current file size |} After this client sends the flattened file object (see ''Flattened File Object''). '''Get User Name List (300)''' Constant: myTran_GetUserNameList Initiator: Client Request the list of all users connected to the current server. Fields used in the request: None Fields used in the reply: {| border="1" cellpadding="0" cellspacing="0" | style="width: 43px;" | '''ID''' | style="width: 126px;" | Field Name | style="width: 421px;" | Note |- | style="width: 43px;" | 300 | style="width: 126px;" | User name with info | style="width: 421px;" | Optional |- | style="width: 43px;" | 300 … | style="width: 126px;" | User name with info … | style="width: 421px;" | Optional More user names with info |} '''Notify Change User (301)''' Constant: myTran_NotifyChangeUser Initiator: Server Notify the user that the information for some another user changed, or that a new user just connected to the server. This information is to be added to (user joined), or updated (user changed its info) in the existing user list. Fields used in the request: {| border="1" cellpadding="0" cellspacing="0" | style="width: 43px;" | ID | style="width: 114px;" | Field Name | style="width: 433px;" | Note |- | style="width: 43px;" | 103 | style="width: 114px;" | User ID | style="width: 433px;" | |- | style="width: 43px;" | 104 | style="width: 114px;" | User icon ID | style="width: 433px;" | |- | style="width: 43px;" | 112 | style="width: 114px;" | User flags | style="width: 433px;" | |- | style="width: 43px;" | 102 | style="width: 114px;" | User name | style="width: 433px;" | |} Reply is not sent. In the Hotline implementation v1.8x, this transaction is also applied to any chat rooms on the clients receiving the update. '''Notify Delete User (302)''' Constant: myTran_NotifyDeleteUser Initiator: Server Notify the user that some another user disconnected from the server. The client should update the existing user list. Fields used in the request: {| border="1" cellpadding="0" cellspacing="0" | style="width: 43px;" | '''ID''' | style="width: 114px;" | Field Name | style="width: 433px;" | Note |- | style="width: 43px;" | 103 | style="width: 114px;" | User ID | style="width: 433px;" | |} Reply is not sent. '''Get Client Info Text (303)''' Constant: myTran_GetClientInfoText Access: Get Client Info (24) Initiator: Client Request user information for the specific user. Fields used in the request: {| border="1" cellpadding="0" cellspacing="0" | style="width: 43px;" | ID | style="width: 96px;" | Field Name | style="width: 451px;" | Note |- | style="width: 43px;" | 103 | style="width: 96px;" | User ID | style="width: 451px;" | |} Fields used in the reply: {| border="1" cellpadding="0" cellspacing="0" | style="width: 43px;" | ID | style="width: 126px;" | Field Name | style="width: 421px;" | Note |- | style="width: 43px;" | 102 | style="width: 126px;" | User name | style="width: 421px;" | |- | style="width: 43px;" | 101 | style="width: 126px;" | Data | style="width: 421px;" | User info text string |} '''Set Client User Info (304)''' Constant: myTran_SetClientUserInfo Initiator: Client Set user preferences on the server. Fields used in the request: {| border="1" cellpadding="0" cellspacing="0" | style="width: 43px;" | ID | style="width: 126px;" | Field Name | style="width: 421px;" | Note |- | style="width: 43px;" | 102 | style="width: 126px;" | User name | style="width: 421px;" | |- | style="width: 43px;" | 104 | style="width: 126px;" | User icon ID | style="width: 421px;" | |- | style="width: 43px;" | 113 | style="width: 126px;" | Options | style="width: 421px;" | Bitmap created by combining the following values: - Automatic response (4) - Refuse private chat (2) - Refuse private message (1) |- | style="width: 43px;" | 215 | style="width: 126px;" | Automatic response | style="width: 421px;" | Optional Automatic response string used only if the options field indicates this feature |} Reply is not expected. '''New User (350)''' Constant: myTran_NewUser Initiator: Client Add a new user to the server’s list of allowed users. Fields used in the request: {| border="1" cellpadding="0" cellspacing="0" | style="width: 43px;" | ID | style="width: 126px;" | Field Name | style="width: 421px;" | Note |- | style="width: 43px;" | 105 | style="width: 126px;" | User login | style="width: 421px;" | |- | style="width: 43px;" | 106 | style="width: 126px;" | User password | style="width: 421px;" | |- | style="width: 43px;" | 102 | style="width: 126px;" | User name | style="width: 421px;" | |- | style="width: 43px;" | 110 | style="width: 126px;" | User access | style="width: 421px;" | User access privileges bitmap (see ''Access Privileges'') |} Fields used in the reply: None '''Delete User (351)''' Constant: myTran_DeleteUser Initiator: Client Delete the specific user from the server’s list of allowed users. Fields used in the request: {| border="1" cellpadding="0" cellspacing="0" | style="width: 43px;" | ID | style="width: 96px;" | Field Name | style="width: 451px;" | Note |- | style="width: 43px;" | 105 | style="width: 96px;" | User login | style="width: 451px;" | |} Fields used in the reply: None '''Get User (352)''' Constant: myTran_GetUser Initiator: Client Request the information for the specific user from the server’s list of allowed users. Fields used in the request: {| border="1" cellpadding="0" cellspacing="0" | style="width: 43px;" | ID | style="width: 96px;" | Field Name | style="width: 451px;" | Note |- | style="width: 43px;" | 105 | style="width: 96px;" | User login | style="width: 451px;" | |} Fields used in the reply: {| border="1" cellpadding="0" cellspacing="0" | style="width: 43px;" | ID | style="width: 126px;" | Field Name | style="width: 421px;" | Note |- | style="width: 43px;" | 102 | style="width: 126px;" | User name | style="width: 421px;" | |- | style="width: 43px;" | 105 | style="width: 126px;" | User login | style="width: 421px;" | Every character in this string is negated (login[ i ] = ~login[ i ]) |- | style="width: 43px;" | 106 | style="width: 126px;" | User password | style="width: 421px;" | |- | style="width: 43px;" | 110 | style="width: 126px;" | User access | style="width: 421px;" | User access privileges bitmap (see ''Access Privileges'') |} '''Set User (353)''' Constant: myTran_SetUser Initiator: Client Set the information for the specific user in the server’s list of allowed users. Fields used in the request: {| border="1" cellpadding="0" cellspacing="0" | style="width: 43px;" | ID | style="width: 126px;" | Field Name | style="width: 421px;" | Note |- | style="width: 43px;" | 105 | style="width: 126px;" | User login | style="width: 421px;" | |- | style="width: 43px;" | 106 | style="width: 126px;" | User password | style="width: 421px;" | |- | style="width: 43px;" | 102 | style="width: 126px;" | User name | style="width: 421px;" | |- | style="width: 43px;" | 110 | style="width: 126px;" | User access | style="width: 421px;" | User access privileges bitmap (see ''Access Privileges'') |} Fields used in the reply: None '''User Access (354)''' Constant: myTran_UserAccess Initiator: Server Set access privileges for the current user. Fields used in the request: {| border="1" cellpadding="0" cellspacing="0" | style="width: 43px;" | ID | style="width: 126px;" | Field Name | style="width: 421px;" | Note |- | style="width: 43px;" | 110 | style="width: 126px;" | User access | style="width: 421px;" | User access privileges bitmap (see ''Access Privileges'') |} Reply is not sent. '''User Broadcast (355)''' Constant: myTran_UserBroadcast Access: Broadcast (32) Initiator: Client Broadcast the message to all users on the server. Fields used in the request: {| border="1" cellpadding="0" cellspacing="0" | style="width: 43px;" | ID | style="width: 96px;" | Field Name | style="width: 451px;" | Note |- | style="width: 43px;" | 101 | style="width: 96px;" | Data | style="width: 451px;" | |} Fields used in the reply: None The server can also be an initiator of this transaction. Initiator: Server Fields used in the request: {| border="1" cellpadding="0" cellspacing="0" | style="width: 43px;" | ID | style="width: 96px;" | Field Name | style="width: 451px;" | Note |- | style="width: 43px;" | 101 | style="width: 96px;" | Data | style="width: 451px;" | Administrator message |} Reply is not sent. '''Get News Category Name List (370)''' Constant: myTran_GetNewsCatNameList Initiator: Client Get the list of category names at the specified news path. Fields used in the request: {| border="1" cellpadding="0" cellspacing="0" | style="width: 43px;" | ID | style="width: 96px;" | Field Name | style="width: 451px;" | Note |- | style="width: 43px;" | 325 | style="width: 96px;" | News path | style="width: 451px;" | Optional |} Fields used in the reply: {| border="1" cellpadding="0" cellspacing="0" | style="width: 43px;" | '''ID''' | style="width: 144px;" | Field Name | style="width: 403px;" | Note |- | style="width: 43px;" | 323 | style="width: 144px;" | News category list data | style="width: 403px;" | Optional |- | style="width: 43px;" | 323 … | style="width: 144px;" | News category list data … | style="width: 403px;" | Optional More news categories |} If version of client/server is 1.5 (prior to April 15, 1999?), instead of the previous reply, the following is sent: {| border="1" cellpadding="0" cellspacing="0" | style="width: 43px;" | '''ID''' | style="width: 144px;" | Field Name | style="width: 403px;" | Note |- | style="width: 43px;" | 320 | style="width: 144px;" | News category list data | style="width: 403px;" | Optional |- | style="width: 43px;" | 320 … | style="width: 144px;" | News category list data … | style="width: 403px;" | Optional More news categories |} '''Get News Article Name List (371)''' Constant: myTran_GetNewsArtNameList Initiator: Client Get the list of article names at the specified news path. Fields used in the request: {| border="1" cellpadding="0" cellspacing="0" | style="width: 43px;" | ID | style="width: 96px;" | Field Name | style="width: 451px;" | Note |- | style="width: 43px;" | 325 | style="width: 96px;" | News path | style="width: 451px;" | Optional |} Fields used in the reply: {| border="1" cellpadding="0" cellspacing="0" | style="width: 43px;" | '''ID''' | style="width: 126px;" | Field Name | style="width: 421px;" | Note |- | style="width: 43px;" | 321 | style="width: 126px;" | News article list data | style="width: 421px;" | Optional |} '''Delete News Item (380)''' Constant: myTran_DelNewsItem Access: News Delete Folder (37) or News Delete Category (35) Initiator: Client Delete an existing news item from the server. Fields used in the request: {| border="1" cellpadding="0" cellspacing="0" | style="width: 43px;" | ID | style="width: 96px;" | Field Name | style="width: 451px;" | Note |- | style="width: 43px;" | 325 | style="width: 96px;" | News path | style="width: 451px;" | |} Fields used in the reply: None '''New News Folder (381)''' Constant: myTran_NewNewsFldr Access: News Create Folder (36) Initiator: Client Create new news folder on the server Fields used in the request: {| border="1" cellpadding="0" cellspacing="0" | style="width: 43px;" | ID | style="width: 96px;" | Field Name | style="width: 451px;" | Note |- | style="width: 43px;" | 201 | style="width: 96px;" | File name | style="width: 451px;" | |- | style="width: 43px;" | 325 | style="width: 96px;" | News path | style="width: 451px;" | |} Fields used in the reply: None '''New News Category (382)''' Constant: myTran_NewNewsCat Access: News Create Category (34) Initiator: Client Create new news category on the server. Fields used in the request: {| border="1" cellpadding="0" cellspacing="0" | style="width: 43px;" | ID | style="width: 132px;" | Field Name | style="width: 415px;" | Note |- | style="width: 43px;" | 322 | style="width: 132px;" | News category name | style="width: 415px;" | |- | style="width: 43px;" | 325 | style="width: 132px;" | News path | style="width: 415px;" | |} Fields used in the reply: None '''Get News Article Data (400)''' Constant: myTran_GetNewsArtData Access: News Read Article (20) Initiator: Client Request information about the specific news article. Fields used in the request: {| border="1" cellpadding="0" cellspacing="0" | style="width: 43px;" | ID | style="width: 102px;" | Field Name | style="width: 445px;" | Note |- | style="width: 43px;" | 325 | style="width: 102px;" | News path | style="width: 445px;" | |- | style="width: 43px;" | 326 | style="width: 102px;" | News article ID | style="width: 445px;" | |- | style="width: 43px;" | 327 | style="width: 102px;" | News article data flavor | style="width: 445px;" | |} Fields used in the reply: {| border="1" cellpadding="0" cellspacing="0" | style="width: 43px;" | ID | style="width: 144px;" | Field Name | style="width: 403px;" | Note |- | style="width: 43px;" | 328 | style="width: 144px;" | News article title | style="width: 403px;" | |- | style="width: 43px;" | 329 | style="width: 144px;" | News article poster | style="width: 403px;" | |- | style="width: 43px;" | 330 | style="width: 144px;" | News article date | style="width: 403px;" | |- | style="width: 43px;" | 331 | style="width: 144px;" | Previous article ID | style="width: 403px;" | |- | style="width: 43px;" | 332 | style="width: 144px;" | Next article ID | style="width: 403px;" | |- | style="width: 43px;" | 335 | style="width: 144px;" | Parent article ID | style="width: 403px;" | |- | style="width: 43px;" | 336 | style="width: 144px;" | First child article ID | style="width: 403px;" | |- | style="width: 43px;" | 327 | style="width: 144px;" | News article data flavor | style="width: 403px;" | Should be “text/plain” Other values are currently ignored |- | style="width: 43px;" | 333 | style="width: 144px;" | News article data | style="width: 403px;" | Optional (if data flavor is “text/plain”) |} '''Post News Article (410)''' Constant: myTran_PostNewsArt Access: News Post Article (21) Initiator: Client Post new news article on the server. Fields used in the request: {| border="1" cellpadding="0" cellspacing="0" | style="width: 43px;" | ID | style="width: 114px;" | Field Name | style="width: 433px;" | Note |- | style="width: 43px;" | 325 | style="width: 114px;" | News path | style="width: 433px;" | |- | style="width: 43px;" | 326 | style="width: 114px;" | News article ID | style="width: 433px;" | ID of the parent article? |- | style="width: 43px;" | 328 | style="width: 114px;" | News article title | style="width: 433px;" | |- | style="width: 43px;" | 334 | style="width: 114px;" | News article flags | style="width: 433px;" | |- | style="width: 43px;" | 327 | style="width: 114px;" | News article data flavor | style="width: 433px;" | Currently “text/plain” |- | style="width: 43px;" | 333 | style="width: 114px;" | News article data | style="width: 433px;" | |} Fields used in the reply: None '''Delete News Article (411)''' Constant: myTran_DelNewsArt Access: News Delete Article (33) Initiator: Client Delete the specific news article. Fields used in the request: {| border="1" cellpadding="0" cellspacing="0" | style="width: 43px;" | ID | style="width: 108px;" | Field Name | style="width: 439px;" | Note |- | style="width: 43px;" | 325 | style="width: 108px;" | News path | style="width: 439px;" | |- | style="width: 43px;" | 326 | style="width: 108px;" | News article ID | style="width: 439px;" | |- | style="width: 43px;" | 337 | style="width: 108px;" | News article – recursive delete | style="width: 439px;" | Delete child articles (1) or not (0) |} Fields used in the reply: None '''Connection Keep Alive (500)''' Constant: myTran_KeepConnectionAlive Pings the connection (?) '''Flattened File Object''' Transactions 202 (Download File), 203 (Upload File), 210 (Download Folder) and 213 (Upload Folder) format the file object in the following way: Flat file header: {| border="1" cellpadding="0" cellspacing="0" | style="width: 103px;" | Description | style="width: 42px;" | Size | style="width: 66px;" | Data | style="width: 379px;" | Note |- | style="width: 103px;" | Format | style="width: 42px;" | 4 | style="width: 66px;" | ‘FILP’ | style="width: 379px;" | 0x46494C50 |- | style="width: 103px;" | Version | style="width: 42px;" | 2 | style="width: 66px;" | 1 | style="width: 379px;" | |- | style="width: 103px;" | RSVD | style="width: 42px;" | 16 | style="width: 66px;" | | style="width: 379px;" | |- | style="width: 103px;" | Fork count | style="width: 42px;" | 2 | style="width: 66px;" | 2 | style="width: 379px;" | |} Flat file information fork header: {| border="1" cellpadding="0" cellspacing="0" | style="width: 115px;" | Description | style="width: 41px;" | Size | style="width: 64px;" | Data | style="width: 370px;" | Note |- | style="width: 115px;" | Fork type | style="width: 41px;" | 4 | style="width: 64px;" | ‘INFO’ | style="width: 370px;" | 0x494E464F |- | style="width: 115px;" | Compression type | style="width: 41px;" | 4 | style="width: 64px;" | 0 | style="width: 370px;" | Currently no compression |- | style="width: 115px;" | RSVD | style="width: 41px;" | 4 | style="width: 64px;" | | style="width: 370px;" | |- | style="width: 115px;" | Data size | style="width: 41px;" | 4 | style="width: 64px;" | | style="width: 370px;" | Size of the flat file information fork |} Flat file information fork: {| border="1" cellpadding="0" cellspacing="0" | style="width: 109px;" | Description | style="width: 41px;" | Size | style="width: 115px;" | Data | style="width: 325px;" | Note |- | style="width: 109px;" | Platform | style="width: 41px;" | 4 | style="width: 115px;" | ‘AMAC’ or ‘MWIN’ | style="width: 325px;" | Operating system used |- | style="width: 109px;" | Type signature | style="width: 41px;" | 4 | style="width: 115px;" | | style="width: 325px;" | File type signature |- | style="width: 109px;" | Creator signature | style="width: 41px;" | 4 | style="width: 115px;" | | style="width: 325px;" | File creator signature |- | style="width: 109px;" | Flags | style="width: 41px;" | 4 | style="width: 115px;" | | style="width: 325px;" | |- | style="width: 109px;" | Platform flags | style="width: 41px;" | 4 | style="width: 115px;" | | style="width: 325px;" | |- | style="width: 109px;" | RSVD | style="width: 41px;" | 32 | style="width: 115px;" | | style="width: 325px;" | |- | style="width: 109px;" | Create date | style="width: 41px;" | 8 | style="width: 115px;" | | style="width: 325px;" | See description for the File Create Date field (208) |- | style="width: 109px;" | Modify date | style="width: 41px;" | 8 | style="width: 115px;" | | style="width: 325px;" | See description for the File Modify Date field (209) |- | style="width: 109px;" | Name script | style="width: 41px;" | 2 | style="width: 115px;" | | style="width: 325px;" | |- | style="width: 109px;" | Name size | style="width: 41px;" | 2 | style="width: 115px;" | | style="width: 325px;" | |- | style="width: 109px;" | Name | style="width: 41px;" | size | style="width: 115px;" | | style="width: 325px;" | Maximum 128 characters |- |Comment size |2 | | |- |Comment |comment size | |When Comment size > 0 |} Flat file data fork header: {| border="1" cellpadding="0" cellspacing="0" | style="width: 115px;" | Description | style="width: 41px;" | Size | style="width: 64px;" | Data | style="width: 370px;" | Note |- | style="width: 115px;" | Fork type | style="width: 41px;" | 4 | style="width: 64px;" | ‘DATA’ | style="width: 370px;" | 0x44415441 |- | style="width: 115px;" | Compression type | style="width: 41px;" | 4 | style="width: 64px;" | 0 | style="width: 370px;" | Currently no compression |- | style="width: 115px;" | RSVD | style="width: 41px;" | 4 | style="width: 64px;" | | style="width: 370px;" | |- | style="width: 115px;" | Data size | style="width: 41px;" | 4 | style="width: 64px;" | | style="width: 370px;" | Actual file content size |} =Transaction Fields= There are 3 predefined field data types: integer, string and binary. If field data does not fit in the first two categories, it is sent as binary data and interpreted by the receiving machine. Some of the binary fields are currently used as strings. All integer fields are treated as unsigned, and can be sent as 16 or 32-bit numbers. This is determined by evaluation of the number itself. Namely, if integer can be represented using only 2 bytes, it is sent as such. In the case when the number is greater than 2^16, it’s sent as 32-bit number. String fields currently use 8-bit ASCII character set. '''Error Text (100)''' Constant: myField_ErrorText '''Data (101)''' Constant: myField_Data Type: Binary '''User Name (102)''' Constant: myField_UserName Type: String '''User ID (103)''' Constant: myField_UserID Type: Integer '''User Icon ID (104)''' Constant: myField_UserIconID Type: Integer '''User Login (105)''' Constant: myField_UserLogin Type: String '''User Password (106)''' Constant: myField_UserPassword Type: String '''Reference Number (107)''' Constant: myField_RefNum Type: Integer '''Transfer Size (108)''' Constant: myField_TransferSize Type: Integer '''Chat Options (109)''' Constant: myField_ChatOptions Type: Integer '''User Access (110)''' Constant: myField_UserAccess Type: Binary This field is represented as 64-bit bitmap. The specific bit meaning is described in the ''Access Privileges'' section of this document. '''User Alias (111)''' Constant: myField_UserAlias '''User Flags (112)''' Constant: myField_UserFlags Type: Integer User flags field is a bitmap with the following values: {| border="1" cellpadding="0" cellspacing="0" | style="width: 37px;" | Bit | style="width: 54px;" | Value | style="width: 499px;" | Description |- | style="width: 37px;" | 0 | style="width: 54px;" | 1 | style="width: 499px;" | User is away |- | style="width: 37px;" | 1 | style="width: 54px;" | 2 | style="width: 499px;" | User is admin (or disconnected?) |- | style="width: 37px;" | 2 | style="width: 54px;" | 4 | style="width: 499px;" | User refuses private messages |- | style="width: 37px;" | 3 | style="width: 54px;" | 8 | style="width: 499px;" | User refuses private chat |} '''Options (113)''' Constant: myField_Options Type: Integer '''Chat ID (114)''' Constant: myField_ChatID Type: Integer '''Chat Subject (115)''' Constant: myField_ChatSubject Type: String '''Waiting Count (116)''' Constant: myField_WaitingCount Type: Integer '''Server Agreement (150)''' Constant: myField_ServerAgreement '''Server Banner (151)''' Constant: myField_ServerBanner Type: Binary '''Server Banner Type (152)''' Constant: myField_ServerBannerType Type: Integer This field can have one of the following values: {| border="1" cellpadding="0" cellspacing="0" | style="width: 49px;" | Value | style="width: 114px;" | Equivalent Value | style="width: 427px;" | Description |- | style="width: 49px;" | 1 | style="width: 114px;" | ‘URL ‘ | style="width: 427px;" | URL link |- | style="width: 49px;" | 3 | style="width: 114px;" | ‘JPEG’ | style="width: 427px;" | JPEG file |- | style="width: 49px;" | 4 | style="width: 114px;" | ‘GIFf’ | style="width: 427px;" | GIF file |- | style="width: 49px;" | 5 | style="width: 114px;" | ‘BMP ‘ | style="width: 427px;" | BMP file |- | style="width: 49px;" | 6 | style="width: 114px;" | ‘PICT | style="width: 427px;" | PICT file |} '''Server Banner URL (153)''' Constant: myField_ServerBannerUrl Type: Binary '''No Server Agreement (154)''' Constant: myField_NoServerAgreement Type: Integer The value of this field is 1 if there is no agreement to be sent. '''Version (160)''' Constant: myField_Vers Type: Integer '''Community Banner ID (161)''' Constant: myField_CommunityBannerID Type: Integer '''Server Name (162)''' Constant: myField_ServerName Type: Binary '''File Name with Info (200)''' Constant: myField_FileNameWithInfo Type: Binary File name with info field content is presented in this structure: {| border="1" cellpadding="0" cellspacing="0" | style="width: 103px;" | Description | style="width: 42px;" | Size | style="width: 66px;" | Data | style="width: 379px;" | Note |- | style="width: 103px;" | Type | style="width: 42px;" | 4 | style="width: 66px;" | | style="width: 379px;" | Folder (‘fldr’) or other |- | style="width: 103px;" | Creator | style="width: 42px;" | 4 | style="width: 66px;" | | style="width: 379px;" | |- | style="width: 103px;" | File size | style="width: 42px;" | 4 | style="width: 66px;" | | style="width: 379px;" | |- | style="width: 103px;" | | style="width: 42px;" | 4 | style="width: 66px;" | | style="width: 379px;" | Reserved? |- | style="width: 103px;" | Name script | style="width: 42px;" | 2 | style="width: 66px;" | | style="width: 379px;" | |- | style="width: 103px;" | Name size | style="width: 42px;" | 2 | style="width: 66px;" | | style="width: 379px;" | |- | style="width: 103px;" | Name data | style="width: 42px;" | size | style="width: 66px;" | | style="width: 379px;" | |} '''File Name (201)''' Constant: myField_FileName Type: String '''File Path (202)''' Constant: myField_FilePath Type: Binary See [[Path Parameters]] for more info. '''File Resume Data (203)''' Constant: myField_FileResumeData Type: Binary File resume data field content is presented in this structure: {| border="1" cellpadding="0" cellspacing="0" | style="width: 103px;" | Description | style="width: 42px;" | Size | style="width: 66px;" | Data | style="width: 379px;" | Note |- | style="width: 103px;" | Format | style="width: 42px;" | 4 | style="width: 66px;" | ‘RFLT’ | style="width: 379px;" | |- | style="width: 103px;" | Version | style="width: 42px;" | 2 | style="width: 66px;" | 1 | style="width: 379px;" | Currently 1 |- | style="width: 103px;" | RSVD | style="width: 42px;" | 34 | style="width: 66px;" | | style="width: 379px;" | ? |- | style="width: 103px;" | Fork count | style="width: 42px;" | 2 | style="width: 66px;" | 2 | style="width: 379px;" | Currently 2 |- | style="width: 103px;" | Fork info list… | style="width: 42px;" | | style="width: 66px;" | | style="width: 379px;" | |} Fork info list contains one or more records with the following structure: {| border="1" cellpadding="0" cellspacing="0" | style="width: 103px;" | Description | style="width: 42px;" | Size | style="width: 66px;" | Data | style="width: 379px;" | Note |- | style="width: 103px;" | Fork | style="width: 42px;" | 4 | style="width: 66px;" | ‘DATA’ | style="width: 379px;" | |- | style="width: 103px;" | Data size | style="width: 42px;" | 4 | style="width: 66px;" | | style="width: 379px;" | Current file size |- | style="width: 103px;" | RSVD A | style="width: 42px;" | 4 | style="width: 66px;" | | style="width: 379px;" | ? |- | style="width: 103px;" | RSVD B | style="width: 42px;" | 4 | style="width: 66px;" | | style="width: 379px;" | ? |} '''File Transfer Options (204)''' Constant: myField_FileXferOptions Type: Integer '''File Type String (205)''' Constant: myField_FileTypeString Type: String '''File Creator String (206)''' Constant: myField_FileCreatorString Type: String '''File Size (207)''' Constant: myField_FileSize Type: Integer '''File Create Date (208)''' Constant: myField_FileCreateDate Type: Binary File create date field has this structure: {| border="1" cellpadding="0" cellspacing="0" | style="width: 103px;" | Description | style="width: 42px;" | Size | style="width: 66px;" | Data | style="width: 379px;" | Note |- | style="width: 103px;" | Year | style="width: 42px;" | 2 | style="width: 66px;" | | style="width: 379px;" | |- | style="width: 103px;" | Milliseconds | style="width: 42px;" | 2 | style="width: 66px;" | | style="width: 379px;" | |- | style="width: 103px;" | Seconds | style="width: 42px;" | 4 | style="width: 66px;" | | style="width: 379px;" | |} See [[Date Parameters]] for more info. '''File Modify Date (209)''' Constant: myField_FileModifyDate Type: Binary File modify date field has this structure: {| border="1" cellpadding="0" cellspacing="0" | style="width: 103px;" | Description | style="width: 42px;" | Size | style="width: 66px;" | Data | style="width: 379px;" | Note |- | style="width: 103px;" | Year | style="width: 42px;" | 2 | style="width: 66px;" | | style="width: 379px;" | |- | style="width: 103px;" | Milliseconds | style="width: 42px;" | 2 | style="width: 66px;" | | style="width: 379px;" | |- | style="width: 103px;" | Seconds | style="width: 42px;" | 4 | style="width: 66px;" | | style="width: 379px;" | |} See [[Date Parameters]] for more info. '''File Comment (210)''' Constant: myField_FileComment Type: String '''File New Name (211)''' Constant: myField_FileNewName Type: String '''File New Path (212)''' Constant: myField_FileNewPath Type: Binary '''File Type (213)''' Constant: myField_FileType Type: Binary File type field contains only one value: {| border="1" cellpadding="0" cellspacing="0" | style="width: 103px;" | Description | style="width: 42px;" | Size | style="width: 66px;" | Data | style="width: 379px;" | Note |- | style="width: 103px;" | File type | style="width: 42px;" | 4 | style="width: 66px;" | | style="width: 379px;" | File type code (‘fldr’ or other) |} '''Quoting Message (214)''' Constant: myField_QuotingMsg Type: Binary '''Automatic Response (215)''' Constant: myField_AutomaticResponse Type: String '''Folder Item Count (220)''' Constant: myField_FldrItemCount Type: Integer '''User Name with Info (300)''' Constant: myField_UserNameWithInfo Type: Binary User name with info field contains this structure: {| border="1" cellpadding="0" cellspacing="0" | style="width: 103px;" | Description | style="width: 42px;" | Size | style="width: 66px;" | Data | style="width: 379px;" | Note |- | style="width: 103px;" | User ID | style="width: 42px;" | 2 | style="width: 66px;" | | style="width: 379px;" | |- | style="width: 103px;" | Icon ID | style="width: 42px;" | 2 | style="width: 66px;" | | style="width: 379px;" | |- | style="width: 103px;" | User flags | style="width: 42px;" | 2 | style="width: 66px;" | | style="width: 379px;" | |- | style="width: 103px;" | User name size | style="width: 42px;" | 2 | style="width: 66px;" | | style="width: 379px;" | |- | style="width: 103px;" | User name | style="width: 42px;" | size | style="width: 66px;" | | style="width: 379px;" | User name string |} '''News Category GUID (319)''' Constant: myField_NewsCatGUID '''News Category List Data (320)''' Constant: myField_NewsCatListData Type: Binary News category list data field contains this structure: {| border="1" cellpadding="0" cellspacing="0" | style="width: 103px;" | Description | style="width: 42px;" | Size | style="width: 84px;" | Data | style="width: 361px;" | Note |- | style="width: 103px;" | Type | style="width: 42px;" | 1 | style="width: 84px;" | 1, 10 or 255 | style="width: 361px;" | Category folder (1), category (10) or other (255) |- | style="width: 103px;" | Category name | style="width: 42px;" | rest | style="width: 84px;" | | style="width: 361px;" | |} This field is used for client/server version 1.5 (prior to April 15, 1999?). '''News Article List Data (321)''' Constant: myField_NewsArtListData Type: Binary News article list data field contains this structure: {| border="1" cellpadding="0" cellspacing="0" | style="width: 103px;" | Description | style="width: 42px;" | Size | style="width: 66px;" | Data | style="width: 379px;" | Note |- | style="width: 103px;" | ID | style="width: 42px;" | 4 | style="width: 66px;" | | style="width: 379px;" | |- | style="width: 103px;" | Article count | style="width: 42px;" | 4 | style="width: 66px;" | | style="width: 379px;" | Number of articles |- | style="width: 103px;" | Name size | style="width: 42px;" | 1 | style="width: 66px;" | | style="width: 379px;" | |- | style="width: 103px;" | Name | style="width: 42px;" | size | style="width: 66px;" | | style="width: 379px;" | Name string |- | style="width: 103px;" | Description size | style="width: 42px;" | 1 | style="width: 66px;" | | style="width: 379px;" | |- | style="width: 103px;" | Description | style="width: 42px;" | size | style="width: 66px;" | | style="width: 379px;" | Description string |- | style="width: 103px;" | List of articles… | style="width: 42px;" | | style="width: 66px;" | | style="width: 379px;" | Optional (if article count > 0) |} List of articles contains: {| border="1" cellpadding="0" cellspacing="0" | style="width: 103px;" | Description | style="width: 42px;" | Size | style="width: 66px;" | Data | style="width: 379px;" | Note |- | style="width: 103px;" | Article ID | style="width: 42px;" | 4 | style="width: 66px;" | | style="width: 379px;" | |- | style="width: 103px;" | Time stamp | style="width: 42px;" | 8 | style="width: 66px;" | | style="width: 379px;" | Year (2 bytes), milliseconds (2 bytes) and seconds (4 bytes) |- | style="width: 103px;" | Parent article ID | style="width: 42px;" | 4 | style="width: 66px;" | | style="width: 379px;" | |- | style="width: 103px;" | Article flags | style="width: 42px;" | 4 | style="width: 66px;" | | style="width: 379px;" | |- | style="width: 103px;" | Flavor count | style="width: 42px;" | 2 | style="width: 66px;" | | style="width: 379px;" | |- | style="width: 103px;" | Title size | style="width: 42px;" | 1 | style="width: 66px;" | | style="width: 379px;" | |- | style="width: 103px;" | Title | style="width: 42px;" | Size | style="width: 66px;" | | style="width: 379px;" | Title string |- | style="width: 103px;" | Poster size | style="width: 42px;" | 1 | style="width: 66px;" | | style="width: 379px;" | |- | style="width: 103px;" | Poster | style="width: 42px;" | Size | style="width: 66px;" | | style="width: 379px;" | Poster string |- | style="width: 103px;" | Flavor list… | style="width: 42px;" | | style="width: 66px;" | | style="width: 379px;" | Optional (if flavor count > 0) |} Flavor list has the following structure: {| border="1" cellpadding="0" cellspacing="0" | style="width: 103px;" | Description | style="width: 42px;" | Size | style="width: 66px;" | Data | style="width: 379px;" | Note |- | style="width: 103px;" | Flavor size | style="width: 42px;" | 1 | style="width: 66px;" | | style="width: 379px;" | |- | style="width: 103px;" | Flavor text | style="width: 42px;" | size | style="width: 66px;" | | style="width: 379px;" | MIME type string |- | style="width: 103px;" | Article size | style="width: 42px;" | 2 | style="width: 66px;" | | style="width: 379px;" | |} '''News Category Name (322)''' Constant: myField_NewsCatName Type: String '''News Category List Data 1.5 (323)''' Constant: myField_NewsCatListData15 Type: Binary News category list data field contains this structure: {| border="1" cellpadding="0" cellspacing="0" | style="width: 103px;" | Description | style="width: 42px;" | Size | style="width: 66px;" | Data | style="width: 379px;" | Note |- | style="width: 103px;" | Type | style="width: 42px;" | 2 | style="width: 66px;" | 2 or 3 | style="width: 379px;" | Bundle (2) or category (3) |} If type value indicates a bundle, what follows the type is: {| border="1" cellpadding="0" cellspacing="0" | style="width: 103px;" | Description | style="width: 42px;" | Size | style="width: 66px;" | Data | style="width: 379px;" | Note |- | style="width: 103px;" | Count | style="width: 42px;" | 2 | style="width: 66px;" | | style="width: 379px;" | |- | style="width: 103px;" | Name size | style="width: 42px;" | 1 | style="width: 66px;" | | style="width: 379px;" | |- | style="width: 103px;" | Name data | style="width: 42px;" | size | style="width: 66px;" | | style="width: 379px;" | |} In the case of a category type, type value is followed by: {| border="1" cellpadding="0" cellspacing="0" | style="width: 103px;" | Description | style="width: 42px;" | Size | style="width: 66px;" | Data | style="width: 379px;" | Note |- | style="width: 103px;" | Count | style="width: 42px;" | 2 | style="width: 66px;" | | style="width: 379px;" | |- | style="width: 103px;" | GUID | style="width: 42px;" | | style="width: 66px;" | | style="width: 379px;" | |- | style="width: 103px;" | Add SN | style="width: 42px;" | 4 | style="width: 66px;" | | style="width: 379px;" | |- | style="width: 103px;" | Delete SN | style="width: 42px;" | 4 | style="width: 66px;" | | style="width: 379px;" | |- | style="width: 103px;" | Name size | style="width: 42px;" | 1 | style="width: 66px;" | | style="width: 379px;" | |- | style="width: 103px;" | Name data | style="width: 42px;" | size | style="width: 66px;" | | style="width: 379px;" | |} '''News Path (325)''' Constant: myField_NewsPath Type: Binary '''News Article ID (326)''' Constant: myField_NewsArtID Type: Integer '''News Article Data Flavor (327)''' Constant: myField_NewsArtDataFlav Type: String '''News Article Title (328)''' Constant: myField_NewsArtTitle Type: String '''News Article Poster (329)''' Constant: myField_NewsArtPoster Type: String '''News Article Date (330)''' Constant: myField_NewsArtDate Type: Binary News article date field contains this structure: {| border="1" cellpadding="0" cellspacing="0" | style="width: 103px;" | Description | style="width: 42px;" | Size | style="width: 66px;" | Data | style="width: 379px;" | Note |- | style="width: 103px;" | Year | style="width: 42px;" | 2 | style="width: 66px;" | | style="width: 379px;" | |- | style="width: 103px;" | Milliseconds | style="width: 42px;" | 2 | style="width: 66px;" | | style="width: 379px;" | |- | style="width: 103px;" | Seconds | style="width: 42px;" | 4 | style="width: 66px;" | | style="width: 379px;" | |} See [[Date Parameters]] for more info. '''News Article – Previous Article (331)''' Constant: myField_NewsArtPrevArt Type: Integer '''News Article – Next Article (332)''' Constant: myField_NewsArtNextArt Type: Integer '''News Article Data (333)''' Constant: myField_NewsArtData Type: Binary '''News Article Flags (334)''' Constant: myField_NewsArtFlags Type: Integer '''News Article – Parent Article (335)''' Constant: myField_NewsArtParentArt Type: Integer '''News Article – First Child Article (336)''' Constant: myField_NewsArt1stChildArt Type: Integer '''News Article – Recursive Delete (337)''' (Delete Children) Constant: myField_NewsArtRecurseDel Type: Integer =Access Privileges= The following is the list of access privileges currently employed by the application. There are 3 types of access privileges: general, folder and bundle. Folder privileges are set per folder. Bundle access is related to the logical grouping of the information. General access privileges are used to set privileges for a user. '''Delete File (0)''' Constant: myAcc_DeleteFile Type: folder '''Upload File (1)''' Constant: myAcc_UploadFile Type: folder, general '''Download File (2)''' Constant: myAcc_DownloadFile Type: folder, general '''Rename File (3)''' Constant: myAcc_RenameFile '''Move File (4)''' Constant: myAcc_MoveFile '''Create Folder (5)''' Constant: myAcc_CreateFolder Type: folder '''Delete Folder (6)''' Constant: myAcc_DeleteFolder Type: folder '''Rename Folder (7)''' Constant: myAcc_RenameFolder '''Move Folder (8)''' Constant: myAcc_MoveFolder '''Read Chat (9)''' Constant: myAcc_ReadChat Type: general '''Send Chat (10)''' Constant: myAcc_SendChat Type: general '''Open Chat (11)''' Constant: myAcc_OpenChat '''Close Chat (12)''' Constant: myAcc_CloseChat '''Show in List (13)''' Constant: myAcc_ShowInList '''Create User (14)''' Constant: myAcc_CreateUser '''Delete User (15)''' Constant: myAcc_DeleteUser '''Open User (16)''' Constant: myAcc_OpenUser '''Modify User (17)''' Constant: myAcc_ModifyUser '''Change Own Password (18)''' Constant: myAcc_ChangeOwnPass '''Send Private Message (19)''' Constant: myAcc_SendPrivMsg '''News Read Article (20)''' Constant: myAcc_NewsReadArt Type: bundle, general '''News Post Article (21)''' Constant: myAcc_NewsPostArt Type: general, bundle '''Disconnect User (22)''' Constant: myAcc_DisconUser Type: general '''Cannot be Disconnected (23)''' Constant: myAcc_CannotBeDiscon '''Get Client Info (24)''' Constant: myAcc_GetClientInfo Type: general '''Upload Anywhere (25)''' Constant: myAcc_UploadAnywhere '''Any Name (26)''' Constant: myAcc_AnyName Type: general '''No Agreement (27)''' Constant: myAcc_NoAgreement '''Set File Comment (28)''' Constant: myAcc_SetFileComment Type: folder '''Set Folder Comment (29)''' Constant: myAcc_SetFolderComment Type: folder '''View Drop Boxes (30)''' Constant: myAcc_ViewDropBoxes '''Make Alias (31)''' Constant: myAcc_MakeAlias Type: folder '''Broadcast (32)''' Constant: myAcc_Broadcast Type: general '''News Delete Article (33)''' Constant: myAcc_NewsDeleteArt Type: bundle '''News Create Category (34)''' Constant: myAcc_NewsCreateCat Type: bundle '''News Delete Category (35)''' Constant: myAcc_NewsDeleteCat Type: bundle '''News Create Folder (36)''' Constant: myAcc_NewsCreateFldr Type: bundle '''News Delete Folder (37)''' Constant: myAcc_NewsDeleteFldr Type: bundle =Download Folder Actions= These values are used to control folder upload/download process. When an application receives folder upload request, it is presented with the first applicable file. In the reply, application will specify an action to be performed: '''Send File (1)''' Constant: dlFldrAction_SendFile Send file action starts the download of the file specified in the request. An additional TCP connection is opened to transfer this file, according to the protocol described in Download Folder (210) and Upload Folder (213) transaction. '''Resume File Download (2)''' Constant: dlFldrAction_ResumeFile This action is similar to the send file action. It also starts the download, while providing the starting position in the file. An additional TCP connection is opened to transfer this file, in the same manner as for send file action. '''Next File (3)''' Constant: dlFldrAction_NextFile Next file action notifies the receiver to send the name of the next file in a folder. Download of the current file in not initiated. =Transaction Sequences= Hotline client contains few predefined transaction sequences in its current implementation. These sequences are described in this section. ==Login== After sending Login transaction (107), server will reply with Show Agreement (109). If user accepts the agreement, Hotline client sends Agreed transaction (121), followed by Get User Name List (300). Next, a Get File Name List (200) or Get News Category Name List (370) transaction is sent, depending on user preferences. If server version is < 151, server will not send Show Agreement reply. In this case, after Login (107) transaction is sent, client sends Set Client User Info (304) transaction with only User Name (102) and User Icon ID (104) fields used, and does not expect a reply. Subsequently, it sends Get User Name List (300) request, followed by Get File Name List (200) or Get News Category Name List (370), depending on user preferences. After that, a banner is requested from HTTP server. See the [[Transactions]] page for more details. ==Invite To Chat== When client receives Invite To Chat (113) transaction from the sever with version < 151, and client has automatic response or reject chat flag set, Reject Chat Invite (114) transaction is sent back to the server. =Tracker Interface= All string values use 8-bit ASCII character set encoding. ==Client Interface with Tracker== After establishing a connection with tracker, the following information is sent: {| border="1" cellpadding="0" cellspacing="0" | style="width: 103px;" | Description | style="width: 42px;" | Size | style="width: 66px;" | Data | style="width: 379px;" | Note |- | style="width: 103px;" | Magic number | style="width: 42px;" | 4 | style="width: 66px;" | ‘HTRK’ | style="width: 379px;" | |- | style="width: 103px;" | Version | style="width: 42px;" | 2 | style="width: 66px;" | 1 or 2 | style="width: 379px;" | Old protocol (1) or new (2) |} When version number is 2, request also includes additional data: {| border="1" cellpadding="0" cellspacing="0" | style="width: 103px;" | Description | style="width: 42px;" | Size | style="width: 66px;" | Data | style="width: 379px;" | Note |- | style="width: 103px;" | Login size | style="width: 42px;" | 1 | style="width: 66px;" | >= 31 | style="width: 379px;" | Login string size |- | style="width: 103px;" | Login | style="width: 42px;" | size | style="width: 66px;" | | style="width: 379px;" | Login string (padded with 0) |- | style="width: 103px;" | Password size | style="width: 42px;" | 1 | style="width: 66px;" | >= 31 | style="width: 379px;" | Password string size |- | style="width: 103px;" | Password | style="width: 42px;" | size | style="width: 66px;" | | style="width: 379px;" | Password string (padded with 0) |} Reply received from the tracker starts with a header: {| border="1" cellpadding="0" cellspacing="0" | style="width: 103px;" | Description | style="width: 42px;" | Size | style="width: 66px;" | Data | style="width: 379px;" | Note |- | style="width: 103px;" | Magic number | style="width: 42px;" | 4 | style="width: 66px;" | ‘HTRK’ | style="width: 379px;" | 0x4854524B |- | style="width: 103px;" | Version | style="width: 42px;" | 2 | style="width: 66px;" | 1 or 2 | style="width: 379px;" | Old protocol (1) or new (2) |} Server information header follows, formatted as: {| border="1" cellpadding="0" cellspacing="0" | style="width: 115px;" | Description | style="width: 41px;" | Size | style="width: 64px;" | Data | style="width: 370px;" | Note |- | style="width: 115px;" | Message type | style="width: 41px;" | 2 | style="width: 64px;" | 1 | style="width: 370px;" | Sending list of servers |- | style="width: 115px;" | Message data size | style="width: 41px;" | 2 | style="width: 64px;" | | style="width: 370px;" | Remaining size of this request |- | style="width: 115px;" | Number of servers | style="width: 41px;" | 2 | style="width: 64px;" | | style="width: 370px;" | Number of servers in the server list |- | style="width: 115px;" | Number of servers | style="width: 41px;" | 2 | style="width: 64px;" | | style="width: 370px;" | Same as previous field |- | style="width: 115px;" | Server list… | style="width: 41px;" | | style="width: 64px;" | | style="width: 370px;" | |} A record in the server list has the following structure: {| border="1" cellpadding="0" cellspacing="0" | style="width: 103px;" | Description | style="width: 42px;" | Size | style="width: 66px;" | Data | style="width: 379px;" | Note |- | style="width: 103px;" | IP address | style="width: 42px;" | 4 | style="width: 66px;" | | style="width: 379px;" | Server’s IP address |- | style="width: 103px;" | IP port number | style="width: 42px;" | 2 | style="width: 66px;" | | style="width: 379px;" | Server’s IP port number |- | style="width: 103px;" | Number of users | style="width: 42px;" | 2 | style="width: 66px;" | | style="width: 379px;" | Number of users connected to this particular server |- | style="width: 103px;" | | style="width: 42px;" | 2 | style="width: 66px;" | 0 | style="width: 379px;" | |- | style="width: 103px;" | Name size | style="width: 42px;" | 1 | style="width: 66px;" | | style="width: 379px;" | Server’s name string size |- | style="width: 103px;" | Name | style="width: 42px;" | size | style="width: 66px;" | | style="width: 379px;" | Server’s name |- | style="width: 103px;" | Description size | style="width: 42px;" | 1 | style="width: 66px;" | | style="width: 379px;" | Server’s description string size |- | style="width: 103px;" | Description | style="width: 42px;" | size | style="width: 66px;" | | style="width: 379px;" | Description of the server |} If the number of servers in the server list is less than number of servers specified in the server information header, client will expect an additional server information, starting with the new server information header. The field containing number of servers in the new header should have the same value as the previous one. When a client is connected to the tracker over the HTTP tunneling protocol, the client does not send any request to the tracker, although it still expects a properly formatted reply. In this case establishing a connection to the tracker indicates a request for the server list. ==Server Interface with Tracker== Server sets up UDP port that is used to periodically send the following information to the trackers: {| border="1" cellpadding="0" cellspacing="0" | style="width: 103px;" | Description | style="width: 42px;" | Size | style="width: 66px;" | Data | style="width: 379px;" | Note |- | style="width: 103px;" | | style="width: 42px;" | 2 | style="width: 66px;" | 1 | style="width: 379px;" | |- | style="width: 103px;" | IP port number | style="width: 42px;" | 2 | style="width: 66px;" | | style="width: 379px;" | Server’s listening UDP port number |- | style="width: 103px;" | Number of users | style="width: 42px;" | 2 | style="width: 66px;" | | style="width: 379px;" | Number of users connected to this particular server |- | style="width: 103px;" | | style="width: 42px;" | 2 | style="width: 66px;" | 0 | style="width: 379px;" | |- | style="width: 103px;" | Pass ID | style="width: 42px;" | 4 | style="width: 66px;" | | style="width: 379px;" | Random number generated by the server |- | style="width: 103px;" | Name size | style="width: 42px;" | 1 | style="width: 66px;" | | style="width: 379px;" | Server’s name string size |- | style="width: 103px;" | Name | style="width: 42px;" | size | style="width: 66px;" | | style="width: 379px;" | Server’s name |- | style="width: 103px;" | Description size | style="width: 42px;" | 1 | style="width: 66px;" | | style="width: 379px;" | Server’s description string size |- | style="width: 103px;" | Description | style="width: 42px;" | size | style="width: 66px;" | | style="width: 379px;" | Description of the server |} In the case when old (?) tracker is used, the additional information is formatted as follows: {| border="1" cellpadding="0" cellspacing="0" | style="width: 103px;" | Description | style="width: 42px;" | Size | style="width: 66px;" | Data | style="width: 379px;" | Note |- | style="width: 103px;" | Password size | style="width: 42px;" | 1 | style="width: 66px;" | | style="width: 379px;" | Server’s tracker password string size |- | style="width: 103px;" | Password | style="width: 42px;" | size | style="width: 66px;" | | style="width: 379px;" | Server’s tracker password |} For a new version of the tracker: {| border="1" cellpadding="0" cellspacing="0" | style="width: 103px;" | Description | style="width: 42px;" | Size | style="width: 66px;" | Data | style="width: 379px;" | Note |- | style="width: 103px;" | Login size | style="width: 42px;" | 1 | style="width: 66px;" | | style="width: 379px;" | Server’s tracker login string size |- | style="width: 103px;" | Login | style="width: 42px;" | size | style="width: 66px;" | | style="width: 379px;" | Server’s tracker login |- | style="width: 103px;" | Password size | style="width: 42px;" | 1 | style="width: 66px;" | | style="width: 379px;" | Server’s tracker password string size |- | style="width: 103px;" | Password | style="width: 42px;" | size | style="width: 66px;" | | style="width: 379px;" | Server’s tracker password |} '''HTTP Tunneling''' When client is unable to communicate with the server using plain TCP connection, HTTP tunneling can be utilized to access the Hotline server over an HTTP proxy. To accomplish this, the client creates two connections to the server. One would be used for sending, and other for receiving data. After these connections are open, the client begins transmitting standard HTTP requests. If HTTP proxy terminates connection while that connection is still in use, the client recreates them, and interrupted requests are resent. ==HTTP Requests== HTTP POST request is sent over sending, while GET request is sent over receiving connection. The POST request is specified as follows: POST <address> HTTP/1.0\r\n Proxy-Connection: Keep-Alive\r\n Pragma: no-cache\r\n Host: <host>\r\n Content-Length: 999999999\r\n Content-Type: hotline/protocol\r\n \r\n The server replies to this request at the time when connection is about to be closed, as: HTTP/1.0 302 Found\r\n Connection: close\r\n Content-Length: 8\r\n Content-Type: hotline/protocol\r\n \r\n Next 8 bytes are filled with 0 to indicate termination of a connection. GET request is specified as: GET<address> HTTP/1.0\r\n Proxy-Connection: Keep-Alive\r\n Pragma: no-cache\r\n Host: <host>\r\n Accept: hotline/protocol\r\n \r\n Server’s immediate reply to GET is: HTTP/1.0 200 OK\r\n Proxy-Connection: Keep-Alive\r\n Content-Length: 999999999\r\n Content-Type: hotline/protocol\r\n \r\n After this reply, server uses this connection to send data to the client. Address used in these requests is standard URL address followed by the session ID, specified as the file in the root directory. This is an example of such address: http://tracker.com:5497/5555-5555-5555 Session ID is used in order to identify the client in the case of disconnect. Host name specified in the HTTP headers is in the form of standard domain name string, followed by the port number. For example: tracker.com:5497 ==Data Header== Additional header precedes every transaction that is sent over these two connections. This header has the format: {| border="1" cellpadding="0" cellspacing="0" | style="width: 103px;" | Description | style="width: 42px;" | Size | style="width: 66px;" | Data | style="width: 379px;" | Note |- | style="width: 103px;" | Data code | style="width: 42px;" | 4 | style="width: 66px;" | | style="width: 379px;" | Disconnect (0), data (1), padding (2) |- | style="width: 103px;" | Data size | style="width: 42px;" | 4 | style="width: 66px;" | | style="width: 379px;" | |- | style="width: 103px;" | Data… | style="width: 42px;" | size | style="width: 66px;" | | style="width: 379px;" | |} Data content depends on the data code specified. If data code value is 1 (constant is http_Data), data content is transaction data as described in this specification (this includes tracker protocol). Code and size with value 0 (hard-coded constant) notifies the remote end of a pending disconnect. After predetermined period of inactivity on an HTTP connection, the proxy server can close that link in order to preserve its resources. To prevent this, additional “padding” data is transmitted, only to keep this connection “alive”. Data code value 2 (http_Padding) indicates that this is the case. When remote end receives this packet type, its data content is simply discarded. '''Global Server''' '''1.1 Server Information''' Hotline servers will be able to create an account on the global server by providing a unique ''server name'' (relatively short in size) and an ''access password''. This information constitutes an account login information that will have to be provided in every subsequent access to the global server. At the time the account is created, the global server assigns the unique ''server ID'' to the server. Global server will provide servers with the ability to store a predefined set of data fields. In addition to the name, the server can also provide region specific ''server alias''. Description field can be used to describe the server’s content to users. Servers can also be optionally classified into one of the few predefined categories provided by the global server. This will allow users to determine server’s content based on a common ''classification'' scheme. An optional ''public encryption key'' can be used to authenticate the server to the users that are connecting to it. Global server will also record server’s ''original and current''(last used) ''IP address''. ''Server flags ''enable or disable various operations that global server performs. ''Searchable flag'' signals if the server will be included as part of the results of the user’s query. ''Rating'' field enables users to rate the server. ''Server status ''describes the current availability of server’s services. ''On-line status'' indicates that server is currently operational and ready to process requests. ''Active status'' shows that server’s account is active, even if the server is not currently on-line. Removing active status indicates that the server can’t be made operational in the short term. This can be used when the server is about to go through a non-trivial maintenance process. The server can also specify the ''number of users'' currently connected to it. Global server records ''date'' when account was ''created'' and ''accessed''. The following table summarizes the server information stored on the global server: {| border="1" cellpadding="0" cellspacing="0" | style="width: 133px;" | =Data= | style="width: 192px;" | ==Options== | style="width: 265px;" | Note |- | style="width: 133px;" | Server ID | style="width: 192px;" | | style="width: 265px;" | Assigned by the global server |- | style="width: 133px;" | Server name | style="width: 192px;" | | style="width: 265px;" | Used as login |- | style="width: 133px;" | Access password | style="width: 192px;" | | style="width: 265px;" | |- | style="width: 133px;" | Server alias | style="width: 192px;" | | style="width: 265px;" | Region specific alias |- | style="width: 133px;" | Description | style="width: 192px;" | | style="width: 265px;" | |- | style="width: 133px;" | Classification | style="width: 192px;" | | style="width: 265px;" | |- | style="width: 133px;" | Icon | style="width: 192px;" | | style="width: 265px;" | Graphical icon |- | style="width: 133px;" | Rating | style="width: 192px;" | | style="width: 265px;" | |- | style="width: 133px;" | Public encryption key | style="width: 192px;" | | style="width: 265px;" | |- | style="width: 133px;" | IP address | style="width: 192px;" | Original Current | style="width: 265px;" | Include the port number |- | style="width: 133px;" | Attributes | style="width: 192px;" | Searchable Allow rating | style="width: 265px;" | |- | style="width: 133px;" | Status flags | style="width: 192px;" | Active On-line | style="width: 265px;" | Active or not On-line or off-line |- | style="width: 133px;" | Number of users | style="width: 192px;" | | style="width: 265px;" | |- | style="width: 133px;" | Date | style="width: 192px;" | Account created Last access | style="width: 265px;" | |} '''1.2 Global Server Transactions''' '''1.2.1 Server Login''' Initiator: Server This transaction is used every time the server logins to the global server. It must be the first transaction sent to the global server. Fields used in the request: {| border="1" cellpadding="0" cellspacing="0" | style="width: 43px;" | '''ID''' | style="width: 138px;" | Field Name | style="width: 409px;" | Note |- | style="width: 43px;" | | style="width: 138px;" | Server name | style="width: 409px;" | |- | style="width: 43px;" | | style="width: 138px;" | Access password | style="width: 409px;" | |- | style="width: 43px;" | | style="width: 138px;" | New account indicator | style="width: 409px;" | Optional Indicates if this is a new account |} Fields used in the reply: None If server indicates that it creates a new account, and account with identical ID already exists in the database, or if a new account cannot be created for any other reason, the global server indicates these conditions with the proper error code. '''1.2.2 Update Server Information''' Initiator: Server Update server information on the global server. All fields in this request are optional. Fields used in the request: {| border="1" cellpadding="0" cellspacing="0" | style="width: 43px;" | '''ID''' | style="width: 138px;" | Field Name | style="width: 409px;" | Note |- | style="width: 43px;" | | style="width: 138px;" | Access password | style="width: 409px;" | |- | style="width: 43px;" | | style="width: 138px;" | Server name | style="width: 409px;" | |- | style="width: 43px;" | | style="width: 138px;" | Server alias | style="width: 409px;" | |- | style="width: 43px;" | | style="width: 138px;" | Description | style="width: 409px;" | |- | style="width: 43px;" | | style="width: 138px;" | Classification | style="width: 409px;" | |- | style="width: 43px;" | | style="width: 138px;" | Icon | style="width: 409px;" | |- | style="width: 43px;" | | style="width: 138px;" | Attributes | style="width: 409px;" | |- | style="width: 43px;" | | style="width: 138px;" | Status flags | style="width: 409px;" | |- | style="width: 43px;" | | style="width: 138px;" | IP port number | style="width: 409px;" | Hotline protocol port number |- | style="width: 43px;" | | style="width: 138px;" | Number of users | style="width: 409px;" | Current number of users |} Fields used in the reply: None '''1.2.3 Delete Server Account''' Access: Administrator Initiator: Client Delete server account from the database. Fields used in the request: {| border="1" cellpadding="0" cellspacing="0" | style="width: 43px;" | '''ID''' | style="width: 138px;" | Field Name | style="width: 409px;" | Note |- | style="width: 43px;" | | style="width: 138px;" | Server name | style="width: 409px;" | |} Fields used in the reply: None '''1.2.4 Rate Server''' Initiator: Client Fields used in the request: {| border="1" cellpadding="0" cellspacing="0" | style="width: 43px;" | '''ID''' | style="width: 138px;" | Field Name | style="width: 409px;" | Note |- | style="width: 43px;" | | style="width: 138px;" | Server name | style="width: 409px;" | |- | style="width: 43px;" | | style="width: 138px;" | Rating | style="width: 409px;" | |} Fields used in the reply: None '''1.2.5 Query Server Database''' Initiator: Client Create a query for the server database. All fields in this request are optional. If client does not specify the search string, the list of all servers is returned. Fields used in the request: {| border="1" cellpadding="0" cellspacing="0" | style="width: 43px;" | '''ID''' | style="width: 138px;" | Field Name | style="width: 409px;" | Note |- | style="width: 43px;" | | style="width: 138px;" | Search string | style="width: 409px;" | Optional |- | style="width: 43px;" | | style="width: 138px;" | Classification | style="width: 409px;" | Optional |} Fields used in the reply: {| border="1" cellpadding="0" cellspacing="0" | style="width: 43px;" | '''ID''' | style="width: 138px;" | Field Name | style="width: 409px;" | Note |- | style="width: 43px;" | | style="width: 138px;" | Server ID | style="width: 409px;" | |- | style="width: 43px;" | | style="width: 138px;" | Server ID … | style="width: 409px;" | Optional More server IDs |} '''1.2.6 Get Server Information''' Initiator: Client Get information about the specific server. Fields used in the request: {| border="1" cellpadding="0" cellspacing="0" | style="width: 43px;" | '''ID''' | style="width: 138px;" | Field Name | style="width: 409px;" | Note |- | style="width: 43px;" | | style="width: 138px;" | Server ID | style="width: 409px;" | |} Fields used in the reply: {| border="1" cellpadding="0" cellspacing="0" | style="width: 43px;" | '''ID''' | style="width: 138px;" | Field Name | style="width: 409px;" | Note |- | style="width: 43px;" | | style="width: 138px;" | Server name | style="width: 409px;" | |- | style="width: 43px;" | | style="width: 138px;" | Server alias | style="width: 409px;" | |- | style="width: 43px;" | | style="width: 138px;" | Description | style="width: 409px;" | |- | style="width: 43px;" | | style="width: 138px;" | Current IP address | style="width: 409px;" | Including port number |- | style="width: 43px;" | | style="width: 138px;" | Classification | style="width: 409px;" | |- | style="width: 43px;" | | style="width: 138px;" | Icon | style="width: 409px;" | |- | style="width: 43px;" | | style="width: 138px;" | Status flags | style="width: 409px;" | |- | style="width: 43px;" | | style="width: 138px;" | Number of users | style="width: 409px;" | |} [[Category:Development]] b127893b467380b4c7d641330e32e711bb11fa67 Transactions 0 45 48 2024-01-03T14:54:04Z Lostarch 1 Created page with "==Login to Server Connect Sequence== 107 [[myTran_Login]] C > S 109 [[myTran_ShowAgreement]] S > C 121 [[myTran_Agreed]] C > S 300 [[myTran_GetUserNameList]] C > S After this one of two things can occur based on Client settings: 200 [[myTran_GetFileNameList]] C > S or 370 [[myTran_GetNewsCatNameList]] C > S ==Invite to Chat Sequence== 113 [[myTran_InviteToChat]] C <> S 114 [[myTran_RejectChatInvite]] C > S Or 115 [[myTran_JoinChat]] C > S 116 myTran_LeaveCh..." wikitext text/x-wiki ==Login to Server Connect Sequence== 107 [[myTran_Login]] C > S 109 [[myTran_ShowAgreement]] S > C 121 [[myTran_Agreed]] C > S 300 [[myTran_GetUserNameList]] C > S After this one of two things can occur based on Client settings: 200 [[myTran_GetFileNameList]] C > S or 370 [[myTran_GetNewsCatNameList]] C > S ==Invite to Chat Sequence== 113 [[myTran_InviteToChat]] C <> S 114 [[myTran_RejectChatInvite]] C > S Or 115 [[myTran_JoinChat]] C > S 116 [[myTran_LeaveChat]] C > S [[Category:Development]] 917778b93ff6312f735cc699486a9f5522fde120 Unofficial Protocol Extensions 0 46 49 2024-01-03T14:54:42Z Lostarch 1 Created page with "The following is a collection of Hotline protocol extensions discovered or documented in various third party Hotline clients, servers, and trackers. Please note that some of these may clash with other extensions described here, should you wish to implement them. Some are documented, but unused, however. This page is an active work in progress and is incomplete. =Hotline Open Protocol Extensions (HOPE)= HOPE is implemented primarily in various distributions of HXD. It o..." wikitext text/x-wiki The following is a collection of Hotline protocol extensions discovered or documented in various third party Hotline clients, servers, and trackers. Please note that some of these may clash with other extensions described here, should you wish to implement them. Some are documented, but unused, however. This page is an active work in progress and is incomplete. =Hotline Open Protocol Extensions (HOPE)= HOPE is implemented primarily in various distributions of HXD. It offers an advanced layer of security over vanilla Hotline using cryptography. ==HOPE Transaction Types== '''File Hash (3808)''' Initiator: Client {| class="article-table" !ID !Field Name |- |201 |File Name |- |202 |File Path |- |203 |File Resume Data |- |3712 |MD5 Hash |- |3713 |HAVAL Hash |- |3714 |SHA1 Hash |} ==HOPE Transaction Fields== '''Session Key (3587)''' '''MAC Algorithm (3588)''' Type: String Can be one of: "HMAC-MD5", "HMAC-SHA1", "MD5", or "SHA1" '''SID (3687)''' '''MD5 Hash (3712)''' Type: Binary '''HAVAL Hash (3713)''' Type: Binary '''SHA1 Hash (3714)''' Type: Binary '''Icon cicn (3728)''' '''Chat Away (3745)''' Type: Integer '''Server Cipher Algorithm (3777)''' Type: String Can be one of: "BLOWFISH", "IDEA", "RC4", or "NONE" (0) '''Client Cipher Algorithm (3778)''' Type: String Can be one of: "BLOWFISH", "IDEA", "RC4", or "NONE" (0) '''Server Cipher Mode (3779)''' '''Client Cipher Mode (3780)''' '''Server Cipher IVEC (3781)''' Type: Binary '''Client Cipher IVEC (3782)''' Type: Binary '''Server Checksum Algorithm (3783)''' '''Client Checksum Algorithm (3784)''' '''Server Compression Algorithm (3785)''' Type: String Can be one of: "GZIP" or "NONE" (0) '''Client Compression Algorithm (3786)''' Type: String Can be one of: "GZIP" or "NONE" (0) =Avaraline extensions= Avaraline seems to have additions relating to either custom or animated icons using the GIF format, with a few other additions. HXD has incorporated support for it. ==Avaraline Transaction Types== '''Icon list (1861)''' Initiator: Client '''Set icon (1862)''' Initiator: Client '''Get icon (1863)''' Initiator: Client '''Icon change (1864)''' Initiator: Server '''Link login (2048)''' Initiator: Server '''Link join (2049)''' Initiator: Server '''Link leave (2050)''' Initiator: Server '''Link packet (2051)''' Initiator: Server '''Get news unformatted (2149)''' Initiator: Client '''Get user info unformatted (2160)''' Initiator: Client '''Account self modify (2304)''' Initiator: Client '''Permission list (2305)''' Initiator: Client ==Avaraline Transaction Fields== '''GIF Icon (768)''' Type: Binary '''GIF List (769)''' Type: Binary '''Offset (793)''' '''Limit (794)''' '''Count (795)''' '''News Limit (800)''' '''Search (1024)''' '''Color (1280)''' Type: Integer '''Packet (1536)''' '''Post (2048)''' '''Post ID (2049)''' '''Permission Group (2128)''' '''Permissions (2129)''' '''IP Address (2304)''' =GLoarbLine extensions= GLoarbLine is a derivative of the official Hotline source code which adds minimal HOPE support along with new account permissions and some misc. packets ==GLoarbLine Transaction Types== '''Icon change (123)''' '''Nickname change (124)''' '''Fake red (125)''' '''Away (126)''' '''myTran_CrazyServer (127)''' '''Block download (128)''' '''Visibility (129)''' '''Admin spector (130)''' '''Standard message (131)''' '''Edit news article (412)''' ==GLoarbLine Transaction Fields== '''Icon ID (117)''' '''Nickname (118)''' '''Fake Red (119)''' '''Away (120)''' '''Block Download (121)''' '''Visible (122)''' '''Admin Spector (123)''' '''Standard Message (124)''' ==GLoarbLine Privilege Bits== GLoarbLine introduces a few new privilege bits in addition to the official privilege bits. All privs on looks like this. In Hex 'FF F3 CF EF FF FF FE 00' 11111111-11110011-11001111-11111111-11111111-11111111-11111110-00000000 {| class="article-table" !Bit !Description !New user default |- |12 |Show in user list |- |11 |Can close chat |- |10 |Can create chat |- |21 |Can send private messages |- |20 |Can change own password |- |46 |Can fake admin |- |45 |Can go away |- |44 |Can change nickname |- |43 |Can change icon |- |42 |Can speak before |- |41 |Can refuse chat |- |40 |Can block downloads |- |54 |Can be invisible |- |53 |Can view invisible users |- |52 |Can flood |- |51 |Can view own drop box |- |50 |Exempt from queue |- |49 |Admin spector |- |48 |Can post before |} =PHXD extensions= Catkiller's PHXD server adds a single addition to Hotline's transaction fields to support an IRC bridge, along with supporting HOPE and Avaraline (mostly). ==PHXD Transaction Fields== '''Old IRC Nickname (1024)''' [[Category:Development]] c40cfb90e5578509670bc8c4d06ffe7401fd3170 Virtual1's Hotline Server Protocol Guide 0 47 50 2024-01-03T14:55:19Z Lostarch 1 Created page with "==•• Virtual1's Hotline Server Protocol Guide ••== Version 1.50b Last Update: 02/12/99 Download current versions off the VirtualFTP Hotline server, at virtualftp.neotek.net This guide was generated during several days of intense use of OTsessionWatcher, to get the protocol figured out in preparation for the development of HotSocket, a RealBasic socket-based class for use as a Hotline Client/Server interface. Significant changes in 1.5: * transaction 354 (user..." wikitext text/x-wiki ==•• Virtual1's Hotline Server Protocol Guide ••== Version 1.50b Last Update: 02/12/99 Download current versions off the VirtualFTP Hotline server, at virtualftp.neotek.net This guide was generated during several days of intense use of OTsessionWatcher, to get the protocol figured out in preparation for the development of HotSocket, a RealBasic socket-based class for use as a Hotline Client/Server interface. Significant changes in 1.5: * transaction 354 (userlist) is sent by server on login, the client does not need to request a userlist. Thanks goes out to XAW and his development of the BHC, (Basic Hotline Client) whose RealBasic sourcecode gave me the insight necessary to begin to understand what I was seeing in the sessionwatcher. Thanks also to the creators of mBot, without whose greed and lack of interest in releasing sourcecode led me to make HotSocket, and thus, the need to make this guide. ;) CHANGES HAVE BEEN MADE TO THE "PATH" TYPE. Please check the lengths of the bytes before the path strings, as they are handled differently than expected, and will not work the "old way" with 1.5's threaded news! ===Chapter 1: NUMBERS AND STRINGS=== long = 4 bytes short = 2 bytes Anywhere there is a number that is preceeded by a length, (such as if the number is the only part of an object, like Socket or Icon) then the number can be a short OR a long. HL software will always pick the smaller of the two when sending, though it does not hurt them to receive a long that is zero. Numbers appear to be stored as "two's complement". 0 = 00 00 00 00 (you can send as a short 00 00) +1 = 00 00 00 01 (you can send as a short 00 01) +65535 = 00 00 FF FF (you can send as a short FF FF) +65536 = 00 01 00 00 +2 = 7F FF FF FF -2147483648 = 80 00 00 00 (now counting backwards toward zero) -1 = FF FF FF FF This is how 2's complement works. The ctrl-F12 does not seem to parse this entirely correctly, but I am assuming this is how things are supposed to work internally in Hotline. The only place you'd have to worry about this is if you ran into a file > 2.1gb that was returning a negative filesize or something. Remember that icons can be negative numbers. (though the numbers are not likely to get near the "crossover" point at 231) It might be simpler to just send everything you can as a long. Some items must be sent as shorts if they don't have a length indicated in the protocol, such as all length indicators and some items in filelist/userlist entries. Anywhere you see short() or long(), it means that you MUST send it that way, because there is no length indicator. Anywhere you see number(), you need to send the length as a short, followed by the number, in your chosen format. There are a few oddball exceptions. Icon numbers are numbers, and normally the server will send them in Number format. (length followed by the number) Userlists however, send the Socket, Icon, and Status objects without length bytes, (all as shorts) Filelists have the same limitation. In the event of a negative icon number, (it can happen, and does work) the icon will be sent as a SHORT two's complement number. They are very easy to convert fortunately... just lop off the the first two characters of the number. -3 changes from FF FF FF FD to FF FD. This limits your numeric range to -32768 <-> +32767. Strings are sent as a length (always a short) followed by the string's characters. Strings marked as "encoded" have each character of the string EOR'd with $FF. i.e. y=chr(255-asc(x)) It's not meant to be hard to crack, just hard to READ and easy to DO. Note that strings added to the protocol in HL1.5 are sent as "pascal" strings, and have a length specified by ONE BYTE, not two. (no consistency!) These are referred to as "pstring" instead of "string" for clarity below. ===Chapter 2: OBJECTS=== objects are sent under the following format: • object header • short (object ID number) • short (object length) does not count these four header bytes • object data if it's a number >=0 and <65536: • short (number) if it's a number >65535: • long (number) if it's a number <0: • long (232+number) if it is a string: • string encoded strings have all chars EOF $FF) if it is a filelistentry • file type four characters, or "fldr" if folder, or "alis" if unresolved alias • file creator four characters, or long(0) if folder • long (file size in bytes, zero if folder) • long (contained items, zero if app/doc) • long (filename length) • string (filename) if it is a Path • short (directory levels) • one or more directory levels • short (0) not sure what it's for • byte (length of dir name) • string (dir name) if it is a userlistentry • short (socket) • short (icon) • short (status) • short (length of nick) • string (nick) if it is a datetime • short (base year - usually 1904) • short (0) • long (number of seconds this date is from midnight, jan 1, base year) if it is a resumeinfo • "RFLT" - Resume FiLe Transfer • short (1) • 34 zeros = 8 x long(0) + 1 x short(0) • short (2) • Data descriptor • "DATA" • long (index to start at) • long (0) • long (0) • Resource descriptor • "MACR" • long (index to start at) • long (0) • long (0) if it is a newsgroup • const ($33 31 31 33 - no idea why, but it's always there) • long (post count) • pstring (category name) • const ($00) • posts • long (thread ID) • long (date) • long (parent thread ID) • const ($00 00 00 00) • short (message element count) • pstring (subject) • pstring (poster) • message elements • pstring (mime type) • short (post size?) if it's a newsfolderitem • byte (item type: $01=folder, $0A=category) • raw data (folder/category name, no length byte) Integer objects are preceeded by a length for a reason. Do not assume that just because the object you are expecting can only be a number 0-50 ,that it will have to be sent as a short. It could be sent as a long, and we don't want to break the socket for such a simple misunderstanding. The reverse is true for longs, they may be sending an icon number that is 5, and decide to save a few bytes and send it as a short. BEWARE. client objects and their ID numbers: ID# Name Object Type 100 errormsg string 101 message string 102 nick string 103 socket number 104 icon number 105 login encoded string NOT encoded in transaction #352 106 password encoded string 107 xferID number the ID number of the file transfer (usually 32 bit) 108 xfersize number size of file xfer, in bytes (smaller for resumes!!) 109 parameter number specifies icon for broadcast, also emote flag 110 privs eight bytes can make 64 flags, only use 27 111 ??? 112 status number 0=black non-idle 113 ban short (1) include to make a kick into a ban 114 chatwindow four random bytes?? example: 84 47 5E 02 115 subject string the new subject of a chat window 116 waiting count object 200 fileentry filelistentry 201 filename string 202 path path 203 resumeinfo resume 204 resumeflag short (1) 205 infolongtype string "Text File" 206 infocreator string "Simpletext" 207 infosize number 208 infocreated datetime 209 infomodified datetime 210 comment string 211 newfilename string 212 targetpath path 213 infotype string the 4-char macos type code (redundant, client already has C/T) 214 Quote string 300 userlistentry userlistentry 320 newsfolderitem newsfolderitem 321 catlist newsgroup 322 category string 325 newspath path this one revealed to me its "true nature" in v1.5 ! 326 threadID number the serial number of a message, for threading 327 newstype string 328 newssubject string 329 author string 330 newsdate date 331 prevthread number 332 nextthread number 333 newsdata string 334 unknown! number? Note! XferSize is the actual number of bytes in the file if it's a download, but it's the size of the file datablock (length of file - 146 - length of filename - length of comment) if it's an upload! :P (that's length PLUS 146 PLUS filename) ===Chapter 3: TRANSACTIONS=== Transaction are sent under the following format: • header • short (transaction class) 0=info/request, 1=reply • short (transaction ID number) server replies are always zero • long (task number) • long (error code) valid if this is a reply, 0=ok, 1=err • long (length of data block) • long (length of data block) yes, again. I don't know why. • data • short (number of objects in transaction) • objects can be one, many, or none It would be wise to assume that objects can be passed in IN ANY ORDER. The other Hotline Client sockets I have seen thus far will crumble to dust if Hinks changes the order of the objects, and I just bet his clients and servers are designed to handle this. BEWARE. Transaction IDs, classes, types, names, and objects: ID# Cls Init Type Name Object(s) 101 0 Client request GetNews (no objects passed) 0 1 Server reply GetNews message 102 0 Server info NewPost message 103 0 Client request PostNews message 104 0 Server info Broadcast message 104 0 Server info Error parameter,message 104 0 Server info PrivateMessage socket,nick,message(,banflag) 105 0 Client info SendChat message(,chatwindow)(,parameter) 106 0 Server info RelayChat message(,chatwindow) 107 0 Client request Login login,password,nick,icon 108 0 Client request SendPM socket,message(,banflag)(,quote) 109 0 Server info Agreement message 110 0 Client request Kick socket(,ban) 111 0 Server info Disconnected message 112 0 Client request CreatePchatWith socket 0 1 Server reply CreatePchatWith chatwindow,socket,icon,status,nick 113 0 Server info InvitedToPchat chatwindow,socket,nick 113 0 Client info AddToPchat socket,chatwindow 114 0 Client Info RejectPchat chatwindow 115 0 Client request RequestJoinPchat chatwindow 0 1 Server reply JoiningPchat userlistentry(,userlistentry,...)(,subject) 116 0 Client Info LeavingPchat chatwindow 117 0 Server Info JoinedPchat chatwindow,socket,icon,status,nick 118 0 Server Info LeftPchat chatwindow,socket 119 0 Server Info ChangedSubject chatwindow,subject 120 0 Client Request RequestChangeSubject chatwindow,subject 200 0 Client request FolderList (path) 0 1 Server reply FolderList {fileentry} 201 (unused) 202 0 Client request Download filename(,path)(,resumeinfo) 0 1 Server reply Download xfersize,xferID 203 0 Client request Upload filename,xfersize(,path),(resumeflag) 0 1 Server reply Upload xferid(,resumeinfo) 204 0 Client request MoveToTrash filename(,path) 205 0 Client request CreateFolder filename(,path) 206 0 Client request GetFileInfo filename(,path) 0 1 Server reply GetFileInfo infotype,infolongtype,infocreator,filename, infocreated,infomodified,infosize(,comment) 207 0 Client request SetFileInfo filename(,path),(newfilename OR comment) 208 0 Client request MoveFile filename(,path)(,targetpath) 209 0 Client request MakeAlias filename(,path)(,targetpath) 300 0 Client request GetUserList (no objects passed) 0 0 Server reply GetUserList {userlistentry} 301 0 Server info UserChange socket,icon,nick(,status) 302 0 Server info UserLeave socket 303 0 Client request GetUserInfo socket 0 1 Server reply GetUserInfo message(,nick) 304 0 Client info ChangeNickIcon icon,nick 350 0 Client request CreateUser login,password,nick,privs 351 0 Client request DeleteUser login 352 0 Client request OpenUser login (NOT ENCODED) 0 1 Server reply OpenUser login,password,privs(,nick) 353 0 Client request ModifyUser nick,login,password,privs 354 0 Server info Userlist {userlistentry} 355 broadcast 370 0 Client request NewsDirlist (newsdir) 1 Server reply NewsDirList {newsfolderitem} 371 0 Client request NewsCatList (newsdir) 1 Server reply NewsCatList (newsgroup) 380 0 Client request DeleteNewsDirCat newspath (kills categories and dirs) 381 0 Client request MakeNewsDir newspath,filename 382 0 Client request MakeCategory newspath,category 400 0 Client request GetThread newspath,threadid,newstype 1 Server reply GetThread newsdata,prevthread,nextthread,newssubject, author,newstype,newsdate 410 0 Client request PostThread newspath,threadid,newssubject,unknown 334,newstype,newsdata, 1 Server reply PostThread newspath,threadid,newssubject,unknown 334,newstype,newsdata, 411 0 Client request DeleteThread newspath,threadid Transactions dealing with files always include the filename. If the path is not included, root folder can be assumed. If the file is being moved or aliased, targetpath may also be included. If not, root is assumed as the target. Transaction #105 (SendChat) is chat. When sent with a parameter of 1, it becomes an emote. Server reply to #352 always returns string(ctrl-G) as password. #353 must send a password string (chr(0)) if password was not changed. Returning string(ctrl-G) will result in that being the user's new password! Unless otherwise specified, a successful task reply will have an error code of 0 and no objects. Unsuccessful tasks will reply with an error code of 1 and the errormsg object. Server transaction #104 "Error" is used for when client sends a non-request that fails, such as trying to send public chat when they don't have chat privs. (probably a screw-up by Hinks, he should have made ALL transactions generate a reply, IMHO) Note: reply to #303 (get info) will be missing the Nick object if you're getting info on a "ghost". (HotSocket will return "" - the HL client returns "Unnamed User") The HL client will not allow a user to set their name to blank. (spaces are OK tho) Note: a Task is a reply to a request. The object(s) included in the Task are dependent on what the request was. The Task can be matched back to its request by using the task number portion of the header. It's probably possible to reuse task numbers, but don't re-issue a task number in a request until the current instance of that task number has been replied to! I have noticed that while the client can create tasks, the server cannot. This makes sense, because a server would eventually crash or eat up all available memory if it had to remember tasks until complete, assuming it was up a week or so and had clients dropping. (leaving tasks in the air) ===Chapter 4: LOGGING IN=== Before sending a login, you must establish a "pipe". Do this by connecting to the port and then exchanging this "handshake" with the server: CLIENT HELLO • "TRTPHOTL" identifies this is a hotline client • short (1) minimum server version this client is compatible with? • short (2) client version? TRTPHOTL (0) (1) (0) (2) SERVER HELLO •"TRTP" • long (errorcode) - 0=OK you are connected, 1=rejected TRTP (0) (0) (0) (0) Once these have been exchanged, you can assume you are connected to a HL server and can proceed to login. Until you have received a success reply to your login transaction, the only other transaction you can submit is a request for disconnect. (I think all others are just ignored?) Once logged in, you are by no means required to request a userlist, request news, or do anything else for that matter. Hinks' client will send the login and then immediately fire off a request for the agreement, userlist and news, before even receiving confirmation of a successful login. (how rude!) ===Chapter 5: NOTES=== I have seen many admins and co-admins running around kicking idle users, saying they are "taking up bandwidth". I was wondering if this was true, and did some pondering. A user that is completely idle (no file xfers) by themselves will take zero bandwidth. There WILL be some bandwidth needed though for each time a user in the userlist goes idle, goes active, changes nick or icon, leaves, arrives, or someone posts public chat. Each of these events requires a task to be sent to every user online, though the amount of data sent is quite small. (typically only 40 bytes or so) News posts also go to all users , (even w/o news privs!) and those can be relatively large in comparison to the other transactions. It sounds kind of silly, but it is in everyone's best interest that on busy file-serving server, you should be quiet and use chat only sparingly. THE END I hope this is useful for you! :-) - Virtual1 [[Category:Development]] 8a7338242e651941c4fef55fe2bc303de0e6f20b User:17lifers 2 48 51 2024-01-03T15:03:52Z 17lifers 33 Created page with "17lifers@everywhere, including LostArch's Hotline wiki :D" wikitext text/x-wiki 17lifers@everywhere, including LostArch's Hotline wiki :D c8195f577f3abb08a06acf9205a7d7338ab5fa10 Category:Development 14 49 52 2024-01-03T15:20:00Z Lostarch 1 Created page with "Development categories will include everything from pre-release active development work, protocol resources, and more." wikitext text/x-wiki Development categories will include everything from pre-release active development work, protocol resources, and more. c18312e46b57b97a4d59aab6db07ba386e52d0b2 User talk:Lostarch 3 50 55 2024-01-03T15:57:05Z Lostarch 1 Created page with "Rawr!" wikitext text/x-wiki Rawr! b48b63bbfc795f4f743e501873d97fb5ff906893 56 55 2024-01-03T16:08:32Z 17lifers 33 wikitext text/x-wiki Rawr! Meow! [[User:17lifers|17lifers@hlwiki]] ([[User talk:17lifers|talk]]) 16:08, 3 January 2024 (UTC) 663918fe080602729907afb597057c402807a5ae User talk:17lifers 3 51 57 2024-01-03T16:08:58Z 17lifers 33 Created page with "Meow!" wikitext text/x-wiki Meow! 7ddbbe813876dbf89991f0c2acddff28bbb19558 59 57 2024-01-03T16:13:25Z Lostarch 1 wikitext text/x-wiki Meow! I WILL TURN THIS CAR AROUND! 92c390e0dd31d83b323c4a1441498a36068d4c16 60 59 2024-01-03T16:17:25Z 17lifers 33 wikitext text/x-wiki Meow! I WILL TURN THIS CAR AROUND! ;-; 3ed3f4c6b2498888c4c1c90c7ad3c73239551b14 61 60 2024-01-03T16:17:32Z 17lifers 33 wikitext text/x-wiki Meow! I WILL TURN THIS CAR AROUND! ok cool d142a197d11104d597d06d3d1d10a6a968b58186 File:800px-Hotline.png 6 52 67 2024-01-03T16:30:35Z Lostarch 1 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 Open Source Hotline 0 53 70 2024-01-03T16:59:34Z Lostarch 1 Adding in some open source as I go. wikitext text/x-wiki This page will contain links to any software for Hotline made open Source. Separated into sections for Clients/Servers/Trackers. (I will also attempt to tag with language written in to make life easier), == Clients == Filetalk (Ruby) [[https://storage.googleapis.com/google-code-archive-source/v2/code.google.com/filetalk/source-archive.zip Source]] - Last Updated April 2010 == Servers == == Trackers == 8e161b79fdf1afeec1a63fd285d18933e476b06c User:Lostarch/sidebar 2 54 72 2024-01-03T17:17:47Z Lostarch 1 Created page with "Test" wikitext text/x-wiki Test 640ab2bae07bedc4c163f679a746f7ab7fb5d1fa HLWiki Features 0 55 73 2024-01-03T17:19:36Z Lostarch 1 Created page with "Users can make their own custom sidebar here: ''User:<username>/Sidebar'' IE: hlwiki.com/index.php/User:LostArch/Sidebar" wikitext text/x-wiki Users can make their own custom sidebar here: ''User:<username>/Sidebar'' IE: hlwiki.com/index.php/User:LostArch/Sidebar dd3e01f54618f21391f587537053b4575eb9a99f MediaWiki:Sidebar/Category:Development 8 56 74 2024-01-03T17:25:33Z Lostarch 1 Created page with " * navigation ** Return to Home * Developers ** [[Source Code Resources]] ** Virtual1%27s_Hotline_Server_Protocol_Guide ** Path Parameters * SEARCH" wikitext text/x-wiki * navigation ** Return to Home * Developers ** [[Source Code Resources]] ** Virtual1%27s_Hotline_Server_Protocol_Guide ** Path Parameters * SEARCH d6f5b119d0274ee520056ded547c3300422d2215 Open Source Hotline 0 53 75 70 2024-01-03T17:28:11Z 17lifers 33 wikitext text/x-wiki This page will contain links to any software for Hotline made open source. Separated into sections for Clients/Servers/Trackers. (I will also attempt to tag with language written in to make life easier), == Clients == Filetalk (Ruby) [[https://storage.googleapis.com/google-code-archive-source/v2/code.google.com/filetalk/source-archive.zip Source]] - Last Updated April 2010 Hotline (SwiftUI) [[https://github.com/mierau/hotline Source]] - Updated regularly Mobius (CLI) [[https://github.com/jhalter/mobius Source]] - Updated regularly Fidelio (GTK+) [https://sourceforge.net/projects/fidelio/files/<nowiki>] - Abandoned, last updated in September 2002</nowiki> == Servers == Mobius (CLI) [[https://github.com/jhalter/mobius Source]] - Updated regularly == Trackers == Amoeba's HLtracker (CLI) (Ruby) [[https://github.com/amoeba/hltracker Source]] - Abandoned, last updated in February 2020 6776bdba51e8fa343f981a683e184519c073e903 81 75 2024-01-03T18:00:27Z 17lifers 33 wikitext text/x-wiki This page will contain links to any software for Hotline made open source. Separated into sections for Clients/Servers/Trackers. (I will also attempt to tag with language written in to make life easier), == Clients == Filetalk (Ruby) [[https://storage.googleapis.com/google-code-archive-source/v2/code.google.com/filetalk/source-archive.zip Source]] - Last Updated April 2010 Hotline (SwiftUI) [[https://github.com/mierau/hotline Source]] - Updated regularly Mobius (CLI) [[https://github.com/jhalter/mobius Source]] - Updated regularly Fidelio (GTK+) [[https://sourceforge.net/projects/fidelio/files/ Source]<nowiki>] - Abandoned, last updated in September 2002</nowiki> GtkHX (GTK+) [[https://sourceforge.net/projects/gtkhx/files/ Source]] - Abandoned, last updated in February 2004 Underline (Carbon / Classic / Win32) [[http://www.hyperspasm.com/underline/ Source]] - Abandoned, last updated in December 2003. == Servers == Mobius (CLI) [[https://github.com/jhalter/mobius Source]] - Updated regularly HXD for OS X [[https://sourceforge.net/projects/osxhxd/files/ Source]] - Abandoned, last updated in October 2001 == Trackers == Amoeba's HLtracker (CLI) (Ruby) [[https://github.com/amoeba/hltracker Source]] - Abandoned, last updated in February 2020 890e9b8298e89cf7f8846fb2ddb9e1ed0ee7b5c8 94 81 2024-01-12T19:46:48Z 17lifers 33 wikitext text/x-wiki This page will contain links to any software for Hotline made open source. Separated into sections for Clients/Servers/Trackers. (I will also attempt to tag with language written in to make life easier), == Clients == Filetalk (Ruby) [[https://storage.googleapis.com/google-code-archive-source/v2/code.google.com/filetalk/source-archive.zip Source]] - Last Updated April 2010 Hotline (SwiftUI) [[https://github.com/mierau/hotline Source]] - Updated regularly Mobius (CLI) [[https://github.com/jhalter/mobius Source]] - Updated regularly Fidelio (GTK+) [[https://sourceforge.net/projects/fidelio/files/ Source]<nowiki>] - Abandoned, last updated in September 2002</nowiki> GtkHX (GTK+) [[https://sourceforge.net/projects/gtkhx/files/ Source]] - Abandoned, last updated in February 2004 Underline (Carbon / Classic / Win32) [[http://www.hyperspasm.com/underline/ Source]] - Abandoned, last updated in December 2003. [https://macintoshgarden.org/apps/openhlc OpenHLC + Source] - Abandoned, last updated in February 2000, as one of the first open-source Hotline clients. == Servers == Mobius (CLI) [[https://github.com/jhalter/mobius Source]] - Updated regularly HXD for OS X [[https://sourceforge.net/projects/osxhxd/files/ Source]] - Abandoned, last updated in October 2001 [https://macintoshgarden.org/apps/terra Terra for OS X] == Trackers == Amoeba's HLtracker (CLI) (Ruby) [[https://github.com/amoeba/hltracker Source]] - Abandoned, last updated in February 2020 b75cda8a79c096a6b35678e902f09c493b015a65 MediaWiki:Sidebar 8 57 76 2024-01-03T17:55:33Z Lostarch 1 Created page with " * navigation ** mainpage|Home ** Clients ** Servers ** Trackers ** Development * SEARCH * TOOLBOX ** recentchanges-url|recentchanges ** randompage-url|randompage ** helppage|help-mediawiki * partners ** http://www.macintoshgarden.com|Macintosh Garden ** http://www.bnet.cc|BNET.cc ** http://www.moghouse.cc|Moghouse * discord ** https://discord.gg/QcQN25rq|Our Discord ** https://discord.gg/PmjFjbQpVB|Macintosh Garden * LANGUAGES" wikitext text/x-wiki * navigation ** mainpage|Home ** Clients ** Servers ** Trackers ** Development * SEARCH * TOOLBOX ** recentchanges-url|recentchanges ** randompage-url|randompage ** helppage|help-mediawiki * partners ** http://www.macintoshgarden.com|Macintosh Garden ** http://www.bnet.cc|BNET.cc ** http://www.moghouse.cc|Moghouse * discord ** https://discord.gg/QcQN25rq|Our Discord ** https://discord.gg/PmjFjbQpVB|Macintosh Garden * LANGUAGES e683c1d28224814dca82ca4399d012752ec44f61 77 76 2024-01-03T17:55:52Z Lostarch 1 wikitext text/x-wiki * navigation ** mainpage|Home ** Clients|Clients ** Servers ** Trackers ** Development * SEARCH * TOOLBOX ** recentchanges-url|recentchanges ** randompage-url|randompage ** helppage|help-mediawiki * partners ** http://www.macintoshgarden.com|Macintosh Garden ** http://www.bnet.cc|BNET.cc ** http://www.moghouse.cc|Moghouse * discord ** https://discord.gg/QcQN25rq|Our Discord ** https://discord.gg/PmjFjbQpVB|Macintosh Garden * LANGUAGES fd315146a5653145003d545f5071610ff9880467 78 77 2024-01-03T17:56:09Z Lostarch 1 wikitext text/x-wiki * navigation ** mainpage|Home ** Clients|Clients ** Servers|Servers ** Trackers|Trackers ** Development|Development * SEARCH * TOOLBOX ** recentchanges-url|recentchanges ** randompage-url|randompage ** helppage|help-mediawiki * partners ** http://www.macintoshgarden.com|Macintosh Garden ** http://www.bnet.cc|BNET.cc ** http://www.moghouse.cc|Moghouse * discord ** https://discord.gg/QcQN25rq|Our Discord ** https://discord.gg/PmjFjbQpVB|Macintosh Garden * LANGUAGES 1576b3025e31360af1bc6e90f1d07f66540a4d85 79 78 2024-01-03T17:56:41Z Lostarch 1 wikitext text/x-wiki * navigation ** mainpage|Home ** Clients|Clients ** Servers|Servers ** Trackers|Trackers ** Development|Development * SEARCH * TOOLBOX * partners ** http://www.macintoshgarden.com|Macintosh Garden ** http://www.bnet.cc|BNET.cc ** http://www.moghouse.cc|Moghouse * discord ** https://discord.gg/QcQN25rq|Our Discord ** https://discord.gg/PmjFjbQpVB|Macintosh Garden * LANGUAGES 6efcc4fdb186da95aaca7f8889728f2206601115 80 79 2024-01-03T17:57:17Z Lostarch 1 wikitext text/x-wiki * navigation ** mainpage|Home ** Clients|Clients ** Servers|Servers ** Trackers|Trackers ** Development|Development * SEARCH * discord ** https://discord.gg/QcQN25rq|Our Discord ** https://discord.gg/PmjFjbQpVB|Macintosh Garden * partners ** http://www.macintoshgarden.com|Macintosh Garden ** http://www.bnet.cc|BNET.cc ** http://www.moghouse.cc|Moghouse * TOOLBOX 8b08d880261a42cbaf0175d576bd9922a413c409 83 80 2024-01-03T20:42:46Z Lostarch 1 wikitext text/x-wiki * navigation ** mainpage|Home ** Clients|Clients ** Servers|Servers ** Trackers|Trackers ** Development|Development ** Special:RecentChanges|Recent Changes * SEARCH * discord ** https://discord.gg/QcQN25rq|Our Discord ** https://discord.gg/PmjFjbQpVB|Macintosh Garden * partners ** http://www.macintoshgarden.com|Macintosh Garden ** http://www.bnet.cc|BNET.cc ** http://www.moghouse.cc|Moghouse * TOOLBOX 229c9ae88a294642dc92fae7f17745aec8683957 84 83 2024-01-03T20:46:11Z Lostarch 1 wikitext text/x-wiki * navigation ** mainpage|Home ** Clients|Clients ** Servers|Servers ** Trackers|Trackers ** Category:Development|Development ** Special:RecentChanges|Recent Changes * SEARCH * discord ** https://discord.gg/QcQN25rq|Our Discord ** https://discord.gg/PmjFjbQpVB|Macintosh Garden * partners ** http://www.macintoshgarden.com|Macintosh Garden ** http://www.bnet.cc|BNET.cc ** http://www.moghouse.cc|Moghouse * TOOLBOX 30be849bf454b46d4100b2cf4502cc21b183dade 111 84 2024-05-07T20:11:04Z Lostarch 1 wikitext text/x-wiki * navigation ** mainpage|Home ** Clients|Clients ** Servers|Servers ** Trackers|Trackers ** Category:Development|Development ** Special:RecentChanges|Recent Changes * SEARCH * discord ** https://discord.gg/RNwbHKRnvW|Our Discord(BNETcc) ** https://discord.gg/PmjFjbQpVB|Macintosh Garden * partners ** http://www.macintoshgarden.com|Macintosh Garden ** http://www.bnet.cc|BNET.cc ** http://www.moghouse.cc|Moghouse * TOOLBOX 9c0c5fb673ed58177ade10976e57d39f67710295 Clients 0 33 82 71 2024-01-03T20:07:06Z 17lifers 33 Zombie! 🧟 wikitext text/x-wiki Hotline clients allow for a connection between the user and the server. They essentially provide the user with an experience, allowing them to view files and folders on the server, read the news BBS, chat and communicate with the community. Because Hotline was originally intended as a chatting p2p client, most people focused on one or the other. Hotline is a good place to find files, however it also houses a fairly large chat community, and allows you to communicate with other users. Since Hotline came prior to Facebook, BitTorrent, and Gnutella, it truely was remarkable for its time. It still exists, and you can feel free to download one of the clients below and see for yourself. == Downloads == <sub>^^ - Indicates current website no longer allows download, Need new files for download (Email them to bnetcc@gmail.com and I can host for free)</sub> === Official Clients === Hotline Connect Client - v1.9.2 ([https://preterhuman.net/download/Hotline-Client-1.9.2-Carbon.sit Carbon]), v1.2.3 ([http://preterhuman.net/download/Hotline_Client-1.2.3_68k.hqx Classic 68k], [http://preterhuman.net/download/Hotline_Client-1.2.3_PPC.hqx Classic PPC], [http://preterhuman.net/download/Hotline_Client-1.2.3_win.zip Windows]) === Derivatives (Openline) === [http://www.hyperspasm.com/underline/ Underline (Mac OS 9, Mac OS X PPC, Windows)] primarily adds optional blowfish to encrypt connections with servers that support it === Clones === [https://github.com/jwheare/hotline Erlang Hotline client with web UI] [http://fidelio.sourceforge.net/ Fidelio (Linux)] [https://code.google.com/archive/p/filetalk/source/default/source FileTalk (Ruby)] (Source code is available, but binaries aren't) [https://macintoshgarden.org/apps/frogblast Frogblast (Mac OS X PPC)] [https://macintoshgarden.org/apps/zombie Zombie (Carbonized Mac OS / Mac OS X)] [http://gtkhx.sourceforge.net GtkHx (Linux)] [https://pharerouge.sourceforge.net/en/index.html PhareRouge (Java)] [http://ubersoft.org/pitbullpro Pitbull Pro (Windows)] [http://hp.vector.co.jp/authors/VA013465/silverwing-beos/ SilverWing (BeOS x86/PPC)] Nostalgia (Mac OS X) -- Epo told me to take my old link down, but you can grab this client on MANY Hotline servers including hltracker.com. Since Epo has passed... I want to make sure people can still enjoy his work. While he constantly talked down about his client, it is still the best client native for Mac OS X. Rest in peace Epo... ~LostArch ==Currently under development== Many Hotline users have decided over time to develop their own clients, serving particular purposes that are not available in other clients or featuring a personalized user interface. These are the clients that are being actively developed by the Hotline community: [https://github.com/tjohnman/Obsession/releases Obsession], open source and written in Qt, for Windows, Linux and macOS users. Latest update: November 2022. [http://capnhack.com/XCCpr2.5b.zip XCC pr2.5b], Direct Download. Test version, please report any bugs. XCC is (for now) a Mac OS X client aimed at end users and server admins. This beta version includes full AppleScript support, allowing the client to be used as a customised bot.(Edited download link to Tagban's host to avoid overloading servers of the developer). [http://ubersoft.org/pitbullpro/ Pitbull Pro 3], Remake of the Original Mac version, coded by UberFoX. It can handle files over 4 GB when connected to server that handles it such as Pitbull Server (also made by UberFoX and available from the Servers pager on wiki) also Pitbull features 256bit-AES with 4096-BIT RSA encryption. Dinobull - A fork of Pitbull Pro 3 which can handle bridging Discord to the Hotline protocol. Javaline Client -- A multiplatform client that runs on Mac, Windows, Unix coded in Java being made by UberFoX. [https://github.com/mierau/hotline/releases/tag/1.0beta4 Hotline (SwiftUI)] - Modern Hotline client built in SwiftUI, for macOS 14.2.1 and up. faa6f488b20a5598b5594becbe184f56887d1ffc 85 82 2024-01-04T07:54:58Z 17lifers 33 wikitext text/x-wiki Hotline clients allow for a connection between the user and the server. They essentially provide the user with an experience, allowing them to view files and folders on the server, read the news BBS, chat and communicate with the community. Because Hotline was originally intended as a chatting p2p client, most people focused on one or the other. Hotline is a good place to find files, however it also houses a fairly large chat community, and allows you to communicate with other users. Since Hotline came prior to Facebook, BitTorrent, and Gnutella, it truely was remarkable for its time. It still exists, and you can feel free to download one of the clients below and see for yourself. == Downloads == <sub>^^ - Indicates current website no longer allows download, Need new files for download (Email them to bnetcc@gmail.com and I can host for free)</sub> === Official Clients === Hotline Connect Client - v1.9.2 ([https://preterhuman.net/download/Hotline-Client-1.9.2-Carbon.sit Carbon]), v1.2.3 ([http://preterhuman.net/download/Hotline_Client-1.2.3_68k.hqx Classic 68k], [http://preterhuman.net/download/Hotline_Client-1.2.3_PPC.hqx Classic PPC], [http://preterhuman.net/download/Hotline_Client-1.2.3_win.zip Windows]) === Derivatives (Openline) === [http://www.hyperspasm.com/underline/ Underline (Mac OS 9, Mac OS X PPC, Windows)] primarily adds optional blowfish to encrypt connections with servers that support it === Clones === [https://github.com/jwheare/hotline Erlang Hotline client with web UI] [http://fidelio.sourceforge.net/ Fidelio (Linux)] [https://code.google.com/archive/p/filetalk/source/default/source FileTalk (Ruby)] (Source code is available, but binaries aren't) [https://macintoshgarden.org/apps/frogblast Frogblast (Mac OS X PPC)] [https://macintoshgarden.org/apps/zombie Zombie (Carbonized Mac OS / Mac OS X)] [http://gtkhx.sourceforge.net GtkHx (Linux)] [https://macintoshgarden.org/apps/htlx HTLx (Mac OS 68k / PPC)] [https://pharerouge.sourceforge.net/en/index.html PhareRouge (Java)] [http://ubersoft.org/pitbullpro Pitbull Pro (Windows)] [http://hp.vector.co.jp/authors/VA013465/silverwing-beos/ SilverWing (BeOS x86/PPC)] Nostalgia (Mac OS X) -- Epo told me to take my old link down, but you can grab this client on MANY Hotline servers including hltracker.com. Since Epo has passed... I want to make sure people can still enjoy his work. While he constantly talked down about his client, it is still the best client native for Mac OS X. Rest in peace Epo... ~LostArch ==Currently under development== Many Hotline users have decided over time to develop their own clients, serving particular purposes that are not available in other clients or featuring a personalized user interface. These are the clients that are being actively developed by the Hotline community: [https://github.com/tjohnman/Obsession/releases Obsession], open source and written in Qt, for Windows, Linux and macOS users. Latest update: November 2022. [http://capnhack.com/XCCpr2.5b.zip XCC pr2.5b], Direct Download. Test version, please report any bugs. XCC is (for now) a Mac OS X client aimed at end users and server admins. This beta version includes full AppleScript support, allowing the client to be used as a customised bot.(Edited download link to Tagban's host to avoid overloading servers of the developer). [http://ubersoft.org/pitbullpro/ Pitbull Pro 3], Remake of the Original Mac version, coded by UberFoX. It can handle files over 4 GB when connected to server that handles it such as Pitbull Server (also made by UberFoX and available from the Servers pager on wiki) also Pitbull features 256bit-AES with 4096-BIT RSA encryption. Dinobull - A fork of Pitbull Pro 3 which can handle bridging Discord to the Hotline protocol. Javaline Client -- A multiplatform client that runs on Mac, Windows, Unix coded in Java being made by UberFoX. [https://github.com/mierau/hotline/releases/tag/1.0beta5 Hotline (SwiftUI)] - Modern Hotline client built in SwiftUI, for macOS 14.2.1 and up. abe81e0cfa0d93e8e9988bd50a9d714fa3632956 86 85 2024-01-04T07:55:31Z 17lifers 33 P2P is capitalized, just like IRC and SMS. wikitext text/x-wiki Hotline clients allow for a connection between the user and the server. They essentially provide the user with an experience, allowing them to view files and folders on the server, read the news BBS, chat and communicate with the community. Because Hotline was originally intended as a chatting P2P client, most people focused on one or the other. Hotline is a good place to find files, however it also houses a fairly large chat community, and allows you to communicate with other users. Since Hotline came prior to Facebook, BitTorrent, and Gnutella, it truely was remarkable for its time. It still exists, and you can feel free to download one of the clients below and see for yourself. == Downloads == <sub>^^ - Indicates current website no longer allows download, Need new files for download (Email them to bnetcc@gmail.com and I can host for free)</sub> === Official Clients === Hotline Connect Client - v1.9.2 ([https://preterhuman.net/download/Hotline-Client-1.9.2-Carbon.sit Carbon]), v1.2.3 ([http://preterhuman.net/download/Hotline_Client-1.2.3_68k.hqx Classic 68k], [http://preterhuman.net/download/Hotline_Client-1.2.3_PPC.hqx Classic PPC], [http://preterhuman.net/download/Hotline_Client-1.2.3_win.zip Windows]) === Derivatives (Openline) === [http://www.hyperspasm.com/underline/ Underline (Mac OS 9, Mac OS X PPC, Windows)] primarily adds optional blowfish to encrypt connections with servers that support it === Clones === [https://github.com/jwheare/hotline Erlang Hotline client with web UI] [http://fidelio.sourceforge.net/ Fidelio (Linux)] [https://code.google.com/archive/p/filetalk/source/default/source FileTalk (Ruby)] (Source code is available, but binaries aren't) [https://macintoshgarden.org/apps/frogblast Frogblast (Mac OS X PPC)] [https://macintoshgarden.org/apps/zombie Zombie (Carbonized Mac OS / Mac OS X)] [http://gtkhx.sourceforge.net GtkHx (Linux)] [https://macintoshgarden.org/apps/htlx HTLx (Mac OS 68k / PPC)] [https://pharerouge.sourceforge.net/en/index.html PhareRouge (Java)] [http://ubersoft.org/pitbullpro Pitbull Pro (Windows)] [http://hp.vector.co.jp/authors/VA013465/silverwing-beos/ SilverWing (BeOS x86/PPC)] Nostalgia (Mac OS X) -- Epo told me to take my old link down, but you can grab this client on MANY Hotline servers including hltracker.com. Since Epo has passed... I want to make sure people can still enjoy his work. While he constantly talked down about his client, it is still the best client native for Mac OS X. Rest in peace Epo... ~LostArch ==Currently under development== Many Hotline users have decided over time to develop their own clients, serving particular purposes that are not available in other clients or featuring a personalized user interface. These are the clients that are being actively developed by the Hotline community: [https://github.com/tjohnman/Obsession/releases Obsession], open source and written in Qt, for Windows, Linux and macOS users. Latest update: November 2022. [http://capnhack.com/XCCpr2.5b.zip XCC pr2.5b], Direct Download. Test version, please report any bugs. XCC is (for now) a Mac OS X client aimed at end users and server admins. This beta version includes full AppleScript support, allowing the client to be used as a customised bot.(Edited download link to Tagban's host to avoid overloading servers of the developer). [http://ubersoft.org/pitbullpro/ Pitbull Pro 3], Remake of the Original Mac version, coded by UberFoX. It can handle files over 4 GB when connected to server that handles it such as Pitbull Server (also made by UberFoX and available from the Servers pager on wiki) also Pitbull features 256bit-AES with 4096-BIT RSA encryption. Dinobull - A fork of Pitbull Pro 3 which can handle bridging Discord to the Hotline protocol. Javaline Client -- A multiplatform client that runs on Mac, Windows, Unix coded in Java being made by UberFoX. [https://github.com/mierau/hotline/releases/tag/1.0beta5 Hotline (SwiftUI)] - Modern Hotline client built in SwiftUI, for macOS 14.2.1 and up. b03f1c89803d3b209179f93bbd19bc1d4c5d31c3 87 86 2024-01-05T22:40:10Z 2601:98D:C180:CB99:65E4:9870:C19F:95F3 0 /* Currently under development */ Just updating a few things, moving some "Dev" work over to the clones section as no active Development for over a year. I need to update a few more links and start tossing mirrors up. wikitext text/x-wiki Hotline clients allow for a connection between the user and the server. They essentially provide the user with an experience, allowing them to view files and folders on the server, read the news BBS, chat and communicate with the community. Because Hotline was originally intended as a chatting P2P client, most people focused on one or the other. Hotline is a good place to find files, however it also houses a fairly large chat community, and allows you to communicate with other users. Since Hotline came prior to Facebook, BitTorrent, and Gnutella, it truely was remarkable for its time. It still exists, and you can feel free to download one of the clients below and see for yourself. == Downloads == <sub>^^ - Indicates current website no longer allows download, Need new files for download (Email them to bnetcc@gmail.com and I can host for free)</sub> === Official Clients === Hotline Connect Client - v1.9.2 ([https://preterhuman.net/download/Hotline-Client-1.9.2-Carbon.sit Carbon]), v1.2.3 ([http://preterhuman.net/download/Hotline_Client-1.2.3_68k.hqx Classic 68k], [http://preterhuman.net/download/Hotline_Client-1.2.3_PPC.hqx Classic PPC], [http://preterhuman.net/download/Hotline_Client-1.2.3_win.zip Windows]) === Derivatives (Openline) === [http://www.hyperspasm.com/underline/ Underline (Mac OS 9, Mac OS X PPC, Windows)] primarily adds optional blowfish to encrypt connections with servers that support it === Clones === [https://github.com/jwheare/hotline Erlang Hotline client with web UI] [http://fidelio.sourceforge.net/ Fidelio (Linux)] [https://code.google.com/archive/p/filetalk/source/default/source FileTalk (Ruby)] (Source code is available, but binaries aren't) [https://macintoshgarden.org/apps/frogblast Frogblast (Mac OS X PPC)] [https://macintoshgarden.org/apps/zombie Zombie (Carbonized Mac OS / Mac OS X)] [http://gtkhx.sourceforge.net GtkHx (Linux)] [https://macintoshgarden.org/apps/htlx HTLx (Mac OS 68k / PPC)] [https://pharerouge.sourceforge.net/en/index.html PhareRouge (Java)] [http://ubersoft.org/pitbullpro Pitbull Pro (Windows)] [http://hp.vector.co.jp/authors/VA013465/silverwing-beos/ SilverWing (BeOS x86/PPC)] Nostalgia (Mac OS X) -- Epo told me to take my old link down, but you can grab this client on MANY Hotline servers including hltracker.com. Since Epo has passed... I want to make sure people can still enjoy his work. While he constantly talked down about his client, it is still the best client native for Mac OS X. Rest in peace Epo... ~LostArch [http://capnhack.com/XCCpr2.5b.zip XCC pr2.5b], Direct Download. Test version, please report any bugs. XCC is (for now) a Mac OS X client aimed at end users and server admins. This beta version includes full AppleScript support, allowing the client to be used as a customised bot.(Edited download link to Tagban's host to avoid overloading servers of the developer). [https://github.com/tjohnman/Obsession/releases Obsession], open source and written in Qt, for Windows, Linux and macOS users. Latest update: November 2022. ==Currently under development== Many Hotline users have decided over time to develop their own clients, serving particular purposes that are not available in other clients or featuring a personalized user interface. These are the clients that are being actively developed by the Hotline community: [http://ubersoft.org/pitbullpro/ Pitbull Pro 3], Remake of the Original Mac version, coded by UberFoX. It can handle files over 4 GB when connected to server that handles it such as Pitbull Server (also made by UberFoX and available from the Servers pager on wiki) also Pitbull features 256bit-AES with 4096-BIT RSA encryption. [https://github.com/mierau/hotline/releases/ Hotline (SwiftUI)] - Modern Hotline client built in SwiftUI, for macOS 14.2.1 and up. 3fe4829581e202ca823d95b8f9e2621d16f811ac 88 87 2024-01-06T12:51:21Z 2001:1C01:39CF:C800:C51:EAFF:7BA:1F36 0 17lifers here, we can't forget knezzen's latest creation :D wikitext text/x-wiki Hotline clients allow for a connection between the user and the server. They essentially provide the user with an experience, allowing them to view files and folders on the server, read the news BBS, chat and communicate with the community. Because Hotline was originally intended as a chatting P2P client, most people focused on one or the other. Hotline is a good place to find files, however it also houses a fairly large chat community, and allows you to communicate with other users. Since Hotline came prior to Facebook, BitTorrent, and Gnutella, it truely was remarkable for its time. It still exists, and you can feel free to download one of the clients below and see for yourself. == Downloads == <sub>^^ - Indicates current website no longer allows download, Need new files for download (Email them to bnetcc@gmail.com and I can host for free)</sub> === Official Clients === Hotline Connect Client - v1.9.2 ([https://preterhuman.net/download/Hotline-Client-1.9.2-Carbon.sit Carbon]), v1.2.3 ([http://preterhuman.net/download/Hotline_Client-1.2.3_68k.hqx Classic 68k], [http://preterhuman.net/download/Hotline_Client-1.2.3_PPC.hqx Classic PPC], [http://preterhuman.net/download/Hotline_Client-1.2.3_win.zip Windows]) === Derivatives (Openline) === [http://www.hyperspasm.com/underline/ Underline (Mac OS 9, Mac OS X PPC, Windows)] primarily adds optional blowfish to encrypt connections with servers that support it === Clones === [https://github.com/jwheare/hotline Erlang Hotline client with web UI] [http://fidelio.sourceforge.net/ Fidelio (Linux)] [https://code.google.com/archive/p/filetalk/source/default/source FileTalk (Ruby)] (Source code is available, but binaries aren't) [https://macintoshgarden.org/apps/frogblast Frogblast (Mac OS X PPC)] [https://macintoshgarden.org/apps/zombie Zombie (Carbonized Mac OS / Mac OS X)] [http://gtkhx.sourceforge.net GtkHx (Linux)] [https://macintoshgarden.org/apps/htlx HTLx (Mac OS 68k / PPC)] [https://pharerouge.sourceforge.net/en/index.html PhareRouge (Java)] [http://ubersoft.org/pitbullpro Pitbull Pro (Windows)] [http://hp.vector.co.jp/authors/VA013465/silverwing-beos/ SilverWing (BeOS x86/PPC)] Nostalgia (Mac OS X) -- Epo told me to take my old link down, but you can grab this client on MANY Hotline servers including hltracker.com. Since Epo has passed... I want to make sure people can still enjoy his work. While he constantly talked down about his client, it is still the best client native for Mac OS X. Rest in peace Epo... ~LostArch [http://capnhack.com/XCCpr2.5b.zip XCC pr2.5b], Direct Download. Test version, please report any bugs. XCC is (for now) a Mac OS X client aimed at end users and server admins. This beta version includes full AppleScript support, allowing the client to be used as a customised bot.(Edited download link to Tagban's host to avoid overloading servers of the developer). [https://github.com/tjohnman/Obsession/releases Obsession], open source and written in Qt, for Windows, Linux and macOS users. Latest update: November 2022. ==Currently under development== Many Hotline users have decided over time to develop their own clients, serving particular purposes that are not available in other clients or featuring a personalized user interface. These are the clients that are being actively developed by the Hotline community: [http://ubersoft.org/pitbullpro/ Pitbull Pro 3], Remake of the Original Mac version, coded by UberFoX. It can handle files over 4 GB when connected to server that handles it such as Pitbull Server (also made by UberFoX and available from the Servers pager on wiki) also Pitbull features 256bit-AES with 4096-BIT RSA encryption. [https://github.com/mierau/hotline/releases/ Hotline (SwiftUI)] - Modern Hotline client built in SwiftUI, for macOS 14.2.1 and up. [https://macintoshgarden.org/apps/hotstuff HotStuff] - Hotline client for System Software 7.1, up to Mac OS X 10.5 "Leopard". 47383b4fc93eb11b5906350d54d403a99df221fb 93 88 2024-01-12T19:12:34Z 17lifers 33 Addition of some obscure Hotline clients. wikitext text/x-wiki Hotline clients allow for a connection between the user and the server. They essentially provide the user with an experience, allowing them to view files and folders on the server, read the news BBS, chat and communicate with the community. Because Hotline was originally intended as a chatting P2P client, most people focused on one or the other. Hotline is a good place to find files, however it also houses a fairly large chat community, and allows you to communicate with other users. Since Hotline came prior to Facebook, BitTorrent, and Gnutella, it truely was remarkable for its time. It still exists, and you can feel free to download one of the clients below and see for yourself. == Downloads == <sub>^^ - Indicates current website no longer allows download, Need new files for download (Email them to bnetcc@gmail.com and I can host for free)</sub> === Official Clients === Hotline Connect Client - v1.9.2 ([https://preterhuman.net/download/Hotline-Client-1.9.2-Carbon.sit Carbon]), v1.2.3 ([http://preterhuman.net/download/Hotline_Client-1.2.3_68k.hqx Classic 68k], [http://preterhuman.net/download/Hotline_Client-1.2.3_PPC.hqx Classic PPC], [http://preterhuman.net/download/Hotline_Client-1.2.3_win.zip Windows]) === Derivatives (Openline) === [http://www.hyperspasm.com/underline/ Underline (Mac OS 9, Mac OS X PPC, Windows)] primarily adds optional blowfish to encrypt connections with servers that support it === Clones === [https://github.com/jwheare/hotline Erlang Hotline client with web UI] [http://fidelio.sourceforge.net/ Fidelio (Linux)] [https://code.google.com/archive/p/filetalk/source/default/source FileTalk (Ruby)] (Source code is available, but binaries aren't) [https://macintoshgarden.org/apps/frogblast Frogblast (Mac OS X PPC)] [https://macintoshgarden.org/apps/heidrun Heidrun (Mac OS X PPC)] [https://macintoshgarden.org/apps/wired Wired (Mac OS X PPC)] [https://macintoshgarden.org/apps/carracho Carracho (Mac OS X PPC)] [https://macintoshgarden.org/apps/panorama-0 Panorama (Mac OS X PPC)] [https://macintoshgarden.org/apps/zombie Zombie (Carbonized Mac OS / Mac OS X)] [http://gtkhx.sourceforge.net GtkHx (Linux)] [https://macintoshgarden.org/apps/ripcord Ripcord (Mac OS 8 - 10.5.8)] [https://macintoshgarden.org/apps/htlx HTLx (Mac OS 68k / PPC)] [https://macintoshgarden.org/apps/gloarbline-197 GLoarbLine 1.9.7 (Mac OS 8.5 - 10.5.8)] [https://pharerouge.sourceforge.net/en/index.html PhareRouge (Java)] [http://ubersoft.org/pitbullpro Pitbull Pro (Windows)] [http://hp.vector.co.jp/authors/VA013465/silverwing-beos/ SilverWing (BeOS x86/PPC)] Nostalgia (Mac OS X) -- Epo told me to take my old link down, but you can grab this client on MANY Hotline servers including hltracker.com. Since Epo has passed... I want to make sure people can still enjoy his work. While he constantly talked down about his client, it is still the best client native for Mac OS X. Rest in peace Epo... ~LostArch [http://capnhack.com/XCCpr2.5b.zip XCC pr2.5b], Direct Download. Test version, please report any bugs. XCC is (for now) a Mac OS X client aimed at end users and server admins. This beta version includes full AppleScript support, allowing the client to be used as a customised bot.(Edited download link to Tagban's host to avoid overloading servers of the developer). [https://github.com/tjohnman/Obsession/releases Obsession], open source and written in Qt, for Windows, Linux and macOS users. Latest update: November 2022. ==Currently under development== Many Hotline users have decided over time to develop their own clients, serving particular purposes that are not available in other clients or featuring a personalized user interface. These are the clients that are being actively developed by the Hotline community: [http://ubersoft.org/pitbullpro/ Pitbull Pro 3], Remake of the Original Mac version, coded by UberFoX. It can handle files over 4 GB when connected to server that handles it such as Pitbull Server (also made by UberFoX and available from the Servers pager on wiki) also Pitbull features 256bit-AES with 4096-BIT RSA encryption. [https://github.com/mierau/hotline/releases/ Hotline (SwiftUI)] - Modern Hotline client built in SwiftUI, for macOS 14.2.1 and up. [https://macintoshgarden.org/apps/hotstuff HotStuff] - Hotline client for System Software 7.1, up to Mac OS X 10.5 "Leopard". 1ac300c6e73220926733d77cd0e97a4f8b5603f3 95 93 2024-04-24T02:50:52Z Schala 34 wikitext text/x-wiki Hotline clients allow for a connection between the user and the server. They essentially provide the user with an experience, allowing them to view files and folders on the server, read the news BBS, chat and communicate with the community. Because Hotline was originally intended as a chatting P2P client, most people focused on one or the other. Hotline is a good place to find files, however it also houses a fairly large chat community, and allows you to communicate with other users. Since Hotline came prior to Facebook, BitTorrent, and Gnutella, it truely was remarkable for its time. It still exists, and you can feel free to download one of the clients below and see for yourself. == Downloads == <sub>^^ - Indicates current website no longer allows download, Need new files for download (Email them to bnetcc@gmail.com and I can host for free)</sub> === Official Clients === Hotline Connect Client - v1.9.2 ([https://preterhuman.net/download/Hotline-Client-1.9.2-Carbon.sit Carbon]), v1.2.3 ([http://preterhuman.net/download/Hotline_Client-1.2.3_68k.hqx Classic 68k], [http://preterhuman.net/download/Hotline_Client-1.2.3_PPC.hqx Classic PPC], [http://preterhuman.net/download/Hotline_Client-1.2.3_win.zip Windows]) === Derivatives (Openline) === [https://macintoshgarden.org/apps/gloarbline-197 GLoarbLine 1.9.7 (Mac OS 8.5 - 10.5.8, Windows)] adds extra account permissions [http://www.hyperspasm.com/underline/ Underline (Mac OS 9, Mac OS X PPC, Windows)] primarily adds optional blowfish to encrypt connections with servers that support it === Third Party (Hotline) === [https://github.com/jwheare/hotline Erlang Hotline client with web UI] [http://fidelio.sourceforge.net/ Fidelio (Linux)] [https://code.google.com/archive/p/filetalk/source/default/source FileTalk (Ruby)] (Source code is available, but binaries aren't) [https://macintoshgarden.org/apps/frogblast Frogblast (Mac OS X PPC)] [https://macintoshgarden.org/apps/heidrun Heidrun (Mac OS X PPC)] [https://macintoshgarden.org/apps/panorama-0 Panorama (Mac OS X PPC)] [https://macintoshgarden.org/apps/zombie Zombie (Carbonized Mac OS / Mac OS X)] [http://gtkhx.sourceforge.net GtkHx (Linux)] [https://macintoshgarden.org/apps/ripcord Ripcord (Mac OS 8 - 10.5.8)] [https://macintoshgarden.org/apps/htlx HTLx (Mac OS 68k / PPC)] [https://pharerouge.sourceforge.net/en/index.html PhareRouge (Java)] [http://ubersoft.org/pitbullpro Pitbull Pro (Windows)] [http://hp.vector.co.jp/authors/VA013465/silverwing-beos/ SilverWing (BeOS x86/PPC)] Nostalgia (Mac OS X) -- Epo told me to take my old link down, but you can grab this client on MANY Hotline servers including hltracker.com. Since Epo has passed... I want to make sure people can still enjoy his work. While he constantly talked down about his client, it is still the best client native for Mac OS X. Rest in peace Epo... ~LostArch [http://capnhack.com/XCCpr2.5b.zip XCC pr2.5b], Direct Download. Test version, please report any bugs. XCC is (for now) a Mac OS X client aimed at end users and server admins. This beta version includes full AppleScript support, allowing the client to be used as a customised bot.(Edited download link to Tagban's host to avoid overloading servers of the developer). [https://github.com/tjohnman/Obsession/releases Obsession], open source and written in Qt, for Windows, Linux and macOS users. Latest update: November 2022. === Third Party (non-Hotline) === [https://macintoshgarden.org/apps/wired Wired (Mac OS X PPC)] [https://macintoshgarden.org/apps/carracho Carracho (Mac OS X PPC)] ==Currently under development== Many Hotline users have decided over time to develop their own clients, serving particular purposes that are not available in other clients or featuring a personalized user interface. These are the clients that are being actively developed by the Hotline community: [http://ubersoft.org/pitbullpro/ Pitbull Pro 3], Remake of the Original Mac version, coded by UberFoX. It can handle files over 4 GB when connected to server that handles it such as Pitbull Server (also made by UberFoX and available from the Servers pager on wiki) also Pitbull features 256bit-AES with 4096-BIT RSA encryption. [https://github.com/mierau/hotline/releases/ Hotline (SwiftUI)] - Modern Hotline client built in SwiftUI, for macOS 14.2.1 and up. [https://macintoshgarden.org/apps/hotstuff HotStuff] - Hotline client for System Software 7.1, up to Mac OS X 10.5 "Leopard". e71e6f7cb1cce878809b870e68492600bcb2afca 96 95 2024-04-24T02:58:49Z Schala 34 alphabetised wikitext text/x-wiki Hotline clients allow for a connection between the user and the server. They essentially provide the user with an experience, allowing them to view files and folders on the server, read the news BBS, chat and communicate with the community. Because Hotline was originally intended as a chatting P2P client, most people focused on one or the other. Hotline is a good place to find files, however it also houses a fairly large chat community, and allows you to communicate with other users. Since Hotline came prior to Facebook, BitTorrent, and Gnutella, it truely was remarkable for its time. It still exists, and you can feel free to download one of the clients below and see for yourself. == Downloads == <sub>^^ - Indicates current website no longer allows download, Need new files for download (Email them to bnetcc@gmail.com and I can host for free)</sub> === Official Clients === Hotline Connect Client - v1.9.2 ([https://preterhuman.net/download/Hotline-Client-1.9.2-Carbon.sit Carbon]), v1.2.3 ([http://preterhuman.net/download/Hotline_Client-1.2.3_68k.hqx Classic 68k], [http://preterhuman.net/download/Hotline_Client-1.2.3_PPC.hqx Classic PPC], [http://preterhuman.net/download/Hotline_Client-1.2.3_win.zip Windows]) === Derivatives (Openline) === [https://macintoshgarden.org/apps/gloarbline-197 GLoarbLine 1.9.7 (Mac OS 8.5 - 10.5.8, Windows)] adds extra account permissions [http://www.hyperspasm.com/underline/ Underline (Mac OS 9, Mac OS X PPC, Windows)] primarily adds optional blowfish to encrypt connections with servers that support it === Third Party (Hotline) === [https://github.com/jwheare/hotline Erlang Hotline client with web UI] [http://fidelio.sourceforge.net/ Fidelio (Linux)] [https://code.google.com/archive/p/filetalk/source/default/source FileTalk (Ruby)] (Source code is available, but binaries aren't) [https://macintoshgarden.org/apps/frogblast Frogblast (Mac OS X PPC)] [http://gtkhx.sourceforge.net GtkHx (Linux)] [https://macintoshgarden.org/apps/heidrun Heidrun (Mac OS X PPC)] [https://macintoshgarden.org/apps/htlx HTLx (Mac OS 68k / PPC)] Nostalgia (Mac OS X) -- Epo told me to take my old link down, but you can grab this client on MANY Hotline servers including hltracker.com. Since Epo has passed... I want to make sure people can still enjoy his work. While he constantly talked down about his client, it is still the best client native for Mac OS X. Rest in peace Epo... ~LostArch [https://github.com/tjohnman/Obsession/releases Obsession], open source and written in Qt, for Windows, Linux and macOS users. Latest update: November 2022. [https://macintoshgarden.org/apps/panorama-0 Panorama (Mac OS X PPC)] [https://pharerouge.sourceforge.net/en/index.html PhareRouge (Java)] [http://ubersoft.org/pitbullpro Pitbull Pro (Windows)] [https://macintoshgarden.org/apps/ripcord Ripcord (Mac OS 8 - 10.5.8)] [http://hp.vector.co.jp/authors/VA013465/silverwing-beos/ SilverWing (BeOS x86/PPC)] [http://capnhack.com/XCCpr2.5b.zip XCC pr2.5b], Direct Download. Test version, please report any bugs. XCC is (for now) a Mac OS X client aimed at end users and server admins. This beta version includes full AppleScript support, allowing the client to be used as a customised bot.(Edited download link to Tagban's host to avoid overloading servers of the developer). [https://macintoshgarden.org/apps/zombie Zombie (Carbonized Mac OS / Mac OS X)] === Third Party (non-Hotline) === [https://macintoshgarden.org/apps/carracho Carracho (Mac OS X PPC)] [https://macintoshgarden.org/apps/wired Wired (Mac OS X PPC)] ==Currently under development== Many Hotline users have decided over time to develop their own clients, serving particular purposes that are not available in other clients or featuring a personalized user interface. These are the clients that are being actively developed by the Hotline community: [https://github.com/mierau/hotline/releases/ Hotline (SwiftUI)] - Modern Hotline client built in SwiftUI, for macOS 14.2.1 and up. [https://macintoshgarden.org/apps/hotstuff HotStuff] - Hotline client for System Software 7.1, up to Mac OS X 10.5 "Leopard". [http://ubersoft.org/pitbullpro/ Pitbull Pro 3], Remake of the Original Mac version, coded by UberFoX. It can handle files over 4 GB when connected to server that handles it such as Pitbull Server (also made by UberFoX and available from the Servers pager on wiki) also Pitbull features 256bit-AES with 4096-BIT RSA encryption. 33de4cd9a132f43c255782085005cc615451a036 97 96 2024-04-24T03:05:18Z Schala 34 phxd, AniClient, mhxd wikitext text/x-wiki Hotline clients allow for a connection between the user and the server. They essentially provide the user with an experience, allowing them to view files and folders on the server, read the news BBS, chat and communicate with the community. Because Hotline was originally intended as a chatting P2P client, most people focused on one or the other. Hotline is a good place to find files, however it also houses a fairly large chat community, and allows you to communicate with other users. Since Hotline came prior to Facebook, BitTorrent, and Gnutella, it truely was remarkable for its time. It still exists, and you can feel free to download one of the clients below and see for yourself. == Downloads == <sub>^^ - Indicates current website no longer allows download, Need new files for download (Email them to bnetcc@gmail.com and I can host for free)</sub> === Official Clients === Hotline Connect Client - v1.9.2 ([https://preterhuman.net/download/Hotline-Client-1.9.2-Carbon.sit Carbon]), v1.2.3 ([http://preterhuman.net/download/Hotline_Client-1.2.3_68k.hqx Classic 68k], [http://preterhuman.net/download/Hotline_Client-1.2.3_PPC.hqx Classic PPC], [http://preterhuman.net/download/Hotline_Client-1.2.3_win.zip Windows]) === Derivatives (Openline) === [https://macintoshgarden.org/apps/gloarbline-197 GLoarbLine 1.9.7 (Mac OS 8.5 - 10.5.8, Windows)] adds extra account permissions [http://www.hyperspasm.com/underline/ Underline (Mac OS 9, Mac OS X PPC, Windows)] primarily adds optional blowfish to encrypt connections with servers that support it === Third Party (Hotline) === [https://aniclient.sourceforge.net/ AniClient (Windows)] [https://github.com/jwheare/hotline Erlang Hotline client with web UI] [http://fidelio.sourceforge.net/ Fidelio (Linux)] [https://code.google.com/archive/p/filetalk/source/default/source FileTalk (Ruby)] (Source code is available, but binaries aren't) [https://macintoshgarden.org/apps/frogblast Frogblast (Mac OS X PPC)] [http://gtkhx.sourceforge.net GtkHx (Linux)] [https://macintoshgarden.org/apps/heidrun Heidrun (Mac OS X PPC)] [https://macintoshgarden.org/apps/htlx HTLx (Mac OS 68k / PPC)] [https://github.com/Schala/mhxd mhxd (Unix)] Nostalgia (Mac OS X) -- Epo told me to take my old link down, but you can grab this client on MANY Hotline servers including hltracker.com. Since Epo has passed... I want to make sure people can still enjoy his work. While he constantly talked down about his client, it is still the best client native for Mac OS X. Rest in peace Epo... ~LostArch [https://github.com/tjohnman/Obsession/releases Obsession], open source and written in Qt, for Windows, Linux and macOS users. Latest update: November 2022. [https://macintoshgarden.org/apps/panorama-0 Panorama (Mac OS X PPC)] [https://pharerouge.sourceforge.net/en/index.html PhareRouge (Java)] [http://ubersoft.org/pitbullpro Pitbull Pro (Windows)] [https://macintoshgarden.org/apps/ripcord Ripcord (Mac OS 8 - 10.5.8)] [http://hp.vector.co.jp/authors/VA013465/silverwing-beos/ SilverWing (BeOS x86/PPC)] [http://capnhack.com/XCCpr2.5b.zip XCC pr2.5b], Direct Download. Test version, please report any bugs. XCC is (for now) a Mac OS X client aimed at end users and server admins. This beta version includes full AppleScript support, allowing the client to be used as a customised bot.(Edited download link to Tagban's host to avoid overloading servers of the developer). [https://macintoshgarden.org/apps/zombie Zombie (Carbonized Mac OS / Mac OS X)] === Third Party (non-Hotline) === [https://macintoshgarden.org/apps/carracho Carracho (Mac OS X PPC)] [https://macintoshgarden.org/apps/wired Wired (Mac OS X PPC)] ==Currently under development== Many Hotline users have decided over time to develop their own clients, serving particular purposes that are not available in other clients or featuring a personalized user interface. These are the clients that are being actively developed by the Hotline community: [https://github.com/mierau/hotline/releases/ Hotline (SwiftUI)] - Modern Hotline client built in SwiftUI, for macOS 14.2.1 and up. [https://macintoshgarden.org/apps/hotstuff HotStuff] - Hotline client for System Software 7.1, up to Mac OS X 10.5 "Leopard". [https://github.com/kangsterizer/phxd phxd (Python)] - Python reimplementation of hxd, with IRC integration added. Last update April 2023 [http://ubersoft.org/pitbullpro/ Pitbull Pro 3], Remake of the Original Mac version, coded by UberFoX. It can handle files over 4 GB when connected to server that handles it such as Pitbull Server (also made by UberFoX and available from the Servers pager on wiki) also Pitbull features 256bit-AES with 4096-BIT RSA encryption. 181828faf8c8f014839b1f3e81df91280527256b 98 97 2024-04-24T03:06:19Z Schala 34 wikitext text/x-wiki Hotline clients allow for a connection between the user and the server. They essentially provide the user with an experience, allowing them to view files and folders on the server, read the news BBS, chat and communicate with the community. Because Hotline was originally intended as a chatting P2P client, most people focused on one or the other. Hotline is a good place to find files, however it also houses a fairly large chat community, and allows you to communicate with other users. Since Hotline came prior to Facebook, BitTorrent, and Gnutella, it truely was remarkable for its time. It still exists, and you can feel free to download one of the clients below and see for yourself. == Downloads == <sub>^^ - Indicates current website no longer allows download, Need new files for download (Email them to bnetcc@gmail.com and I can host for free)</sub> === Official Clients === Hotline Connect Client - v1.9.2 ([https://preterhuman.net/download/Hotline-Client-1.9.2-Carbon.sit Carbon]), v1.2.3 ([http://preterhuman.net/download/Hotline_Client-1.2.3_68k.hqx Classic 68k], [http://preterhuman.net/download/Hotline_Client-1.2.3_PPC.hqx Classic PPC], [http://preterhuman.net/download/Hotline_Client-1.2.3_win.zip Windows]) === Derivatives (Openline) === [https://macintoshgarden.org/apps/gloarbline-197 GLoarbLine 1.9.7 (Mac OS 8.5 - 10.5.8, Windows)] adds extra account permissions [http://www.hyperspasm.com/underline/ Underline (Mac OS 9, Mac OS X PPC, Windows)] primarily adds optional blowfish to encrypt connections with servers that support it === Third Party (Hotline) === [https://aniclient.sourceforge.net/ AniClient (Windows)] [https://github.com/jwheare/hotline Erlang Hotline client with web UI] [http://fidelio.sourceforge.net/ Fidelio (Linux)] [https://code.google.com/archive/p/filetalk/source/default/source FileTalk (Ruby)] (Source code is available, but binaries aren't) [https://macintoshgarden.org/apps/frogblast Frogblast (Mac OS X PPC)] [http://gtkhx.sourceforge.net GtkHx (Linux)] [https://macintoshgarden.org/apps/heidrun Heidrun (Mac OS X PPC)] [https://macintoshgarden.org/apps/htlx HTLx (Mac OS 68k / PPC)] [https://github.com/Schala/mhxd mhxd (Unix)] Nostalgia (Mac OS X) -- Epo told me to take my old link down, but you can grab this client on MANY Hotline servers including hltracker.com. Since Epo has passed... I want to make sure people can still enjoy his work. While he constantly talked down about his client, it is still the best client native for Mac OS X. Rest in peace Epo... ~LostArch [https://github.com/tjohnman/Obsession/releases Obsession], open source and written in Qt, for Windows, Linux and macOS users. Latest update: November 2022. [https://macintoshgarden.org/apps/panorama-0 Panorama (Mac OS X PPC)] [https://pharerouge.sourceforge.net/en/index.html PhareRouge (Java)] [http://ubersoft.org/pitbullpro Pitbull Pro (Windows)] [https://macintoshgarden.org/apps/ripcord Ripcord (Mac OS 8 - 10.5.8)] [http://hp.vector.co.jp/authors/VA013465/silverwing-beos/ SilverWing (BeOS x86/PPC)] [http://capnhack.com/XCCpr2.5b.zip XCC pr2.5b], Direct Download. Test version, please report any bugs. XCC is (for now) a Mac OS X client aimed at end users and server admins. This beta version includes full AppleScript support, allowing the client to be used as a customised bot.(Edited download link to Tagban's host to avoid overloading servers of the developer). [https://macintoshgarden.org/apps/zombie Zombie (Carbonized Mac OS / Mac OS X)] === Third Party (non-Hotline) === [https://macintoshgarden.org/apps/carracho Carracho (Mac OS X PPC)] [https://macintoshgarden.org/apps/wired Wired (Mac OS X PPC)] ==Currently under development== Many Hotline users have decided over time to develop their own clients, serving particular purposes that are not available in other clients or featuring a personalized user interface. These are the clients that are being actively developed by the Hotline community: [https://github.com/mierau/hotline/releases/ Hotline (SwiftUI)] - Modern Hotline client built in SwiftUI, for macOS 14.2.1 and up. [https://macintoshgarden.org/apps/hotstuff HotStuff] - Hotline client for System Software 7.1, up to Mac OS X 10.5 "Leopard". [https://github.com/kangsterizer/phxd phxd (Python)] - Python reimplementation of hxd, with IRC integration added. Last update April 2023 [http://ubersoft.org/pitbullpro/ Pitbull Pro 3], Remake of the Original Mac version, coded by UberFoX. It can handle files over 4 GB when connected to server that handles it such as Pitbull Server (also made by UberFoX and available from the Servers pager on wiki) also Pitbull features 256bit-AES with 4096-BIT RSA encryption. 9bc5da325e2f2d6bdce4dd14cd1fa8da1fbd2eed 99 98 2024-04-24T03:07:04Z Schala 34 wikitext text/x-wiki Hotline clients allow for a connection between the user and the server. They essentially provide the user with an experience, allowing them to view files and folders on the server, read the news BBS, chat and communicate with the community. Because Hotline was originally intended as a chatting P2P client, most people focused on one or the other. Hotline is a good place to find files, however it also houses a fairly large chat community, and allows you to communicate with other users. Since Hotline came prior to Facebook, BitTorrent, and Gnutella, it truely was remarkable for its time. It still exists, and you can feel free to download one of the clients below and see for yourself. == Downloads == <sub>^^ - Indicates current website no longer allows download, Need new files for download (Email them to bnetcc@gmail.com and I can host for free)</sub> === Official Clients === Hotline Connect Client - v1.9.2 ([https://preterhuman.net/download/Hotline-Client-1.9.2-Carbon.sit Carbon]), v1.2.3 ([http://preterhuman.net/download/Hotline_Client-1.2.3_68k.hqx Classic 68k], [http://preterhuman.net/download/Hotline_Client-1.2.3_PPC.hqx Classic PPC], [http://preterhuman.net/download/Hotline_Client-1.2.3_win.zip Windows]) === Derivatives (Openline) === [https://macintoshgarden.org/apps/gloarbline-197 GLoarbLine 1.9.7 (Mac OS 8.5 - 10.5.8, Windows)] adds extra account permissions and blowfish encryption for servers that support it [http://www.hyperspasm.com/underline/ Underline (Mac OS 9, Mac OS X PPC, Windows)] primarily adds optional blowfish to encrypt connections with servers that support it === Third Party (Hotline) === [https://aniclient.sourceforge.net/ AniClient (Windows)] [https://github.com/jwheare/hotline Erlang Hotline client with web UI] [http://fidelio.sourceforge.net/ Fidelio (Linux)] [https://code.google.com/archive/p/filetalk/source/default/source FileTalk (Ruby)] (Source code is available, but binaries aren't) [https://macintoshgarden.org/apps/frogblast Frogblast (Mac OS X PPC)] [http://gtkhx.sourceforge.net GtkHx (Linux)] [https://macintoshgarden.org/apps/heidrun Heidrun (Mac OS X PPC)] [https://macintoshgarden.org/apps/htlx HTLx (Mac OS 68k / PPC)] [https://github.com/Schala/mhxd mhxd (Unix)] Nostalgia (Mac OS X) -- Epo told me to take my old link down, but you can grab this client on MANY Hotline servers including hltracker.com. Since Epo has passed... I want to make sure people can still enjoy his work. While he constantly talked down about his client, it is still the best client native for Mac OS X. Rest in peace Epo... ~LostArch [https://github.com/tjohnman/Obsession/releases Obsession], open source and written in Qt, for Windows, Linux and macOS users. Latest update: November 2022. [https://macintoshgarden.org/apps/panorama-0 Panorama (Mac OS X PPC)] [https://pharerouge.sourceforge.net/en/index.html PhareRouge (Java)] [http://ubersoft.org/pitbullpro Pitbull Pro (Windows)] [https://macintoshgarden.org/apps/ripcord Ripcord (Mac OS 8 - 10.5.8)] [http://hp.vector.co.jp/authors/VA013465/silverwing-beos/ SilverWing (BeOS x86/PPC)] [http://capnhack.com/XCCpr2.5b.zip XCC pr2.5b], Direct Download. Test version, please report any bugs. XCC is (for now) a Mac OS X client aimed at end users and server admins. This beta version includes full AppleScript support, allowing the client to be used as a customised bot.(Edited download link to Tagban's host to avoid overloading servers of the developer). [https://macintoshgarden.org/apps/zombie Zombie (Carbonized Mac OS / Mac OS X)] === Third Party (non-Hotline) === [https://macintoshgarden.org/apps/carracho Carracho (Mac OS X PPC)] [https://macintoshgarden.org/apps/wired Wired (Mac OS X PPC)] ==Currently under development== Many Hotline users have decided over time to develop their own clients, serving particular purposes that are not available in other clients or featuring a personalized user interface. These are the clients that are being actively developed by the Hotline community: [https://github.com/mierau/hotline/releases/ Hotline (SwiftUI)] - Modern Hotline client built in SwiftUI, for macOS 14.2.1 and up. [https://macintoshgarden.org/apps/hotstuff HotStuff] - Hotline client for System Software 7.1, up to Mac OS X 10.5 "Leopard". [https://github.com/kangsterizer/phxd phxd (Python)] - Python reimplementation of hxd, with IRC integration added. Last update April 2023 [http://ubersoft.org/pitbullpro/ Pitbull Pro 3], Remake of the Original Mac version, coded by UberFoX. It can handle files over 4 GB when connected to server that handles it such as Pitbull Server (also made by UberFoX and available from the Servers pager on wiki) also Pitbull features 256bit-AES with 4096-BIT RSA encryption. 6cb68a3bcca4d7651da0d47bbc642b9a72d15cc6 100 99 2024-04-24T03:07:42Z Schala 34 wikitext text/x-wiki Hotline clients allow for a connection between the user and the server. They essentially provide the user with an experience, allowing them to view files and folders on the server, read the news BBS, chat and communicate with the community. Because Hotline was originally intended as a chatting P2P client, most people focused on one or the other. Hotline is a good place to find files, however it also houses a fairly large chat community, and allows you to communicate with other users. Since Hotline came prior to Facebook, BitTorrent, and Gnutella, it truely was remarkable for its time. It still exists, and you can feel free to download one of the clients below and see for yourself. == Downloads == <sub>^^ - Indicates current website no longer allows download, Need new files for download (Email them to bnetcc@gmail.com and I can host for free)</sub> === Official Clients === Hotline Connect Client - v1.9.2 ([https://preterhuman.net/download/Hotline-Client-1.9.2-Carbon.sit Carbon]), v1.2.3 ([http://preterhuman.net/download/Hotline_Client-1.2.3_68k.hqx Classic 68k], [http://preterhuman.net/download/Hotline_Client-1.2.3_PPC.hqx Classic PPC], [http://preterhuman.net/download/Hotline_Client-1.2.3_win.zip Windows]) === Derivatives (Openline) === [https://macintoshgarden.org/apps/gloarbline-197 GLoarbLine 1.9.7 (Mac OS 8.5 - 10.5.8, Windows)] adds extra account permissions and blowfish encryption for servers that support it [http://www.hyperspasm.com/underline/ Underline (Mac OS 9, Mac OS X PPC, Windows)] primarily adds optional blowfish to encrypt connections with servers that support it === Third Party (Hotline) === [https://aniclient.sourceforge.net/ AniClient (Windows)] [https://github.com/jwheare/hotline Erlang Hotline client with web UI] [http://fidelio.sourceforge.net/ Fidelio (Linux)] [https://code.google.com/archive/p/filetalk/source/default/source FileTalk (Ruby)] (Source code is available, but binaries aren't) [https://macintoshgarden.org/apps/frogblast Frogblast (Mac OS X PPC)] [http://gtkhx.sourceforge.net GtkHx (Linux)] [https://macintoshgarden.org/apps/heidrun Heidrun (Mac OS X PPC)] [https://macintoshgarden.org/apps/htlx HTLx (Mac OS 68k / PPC)] [https://github.com/Schala/mhxd mhxd (Unix)] archival source mirror Nostalgia (Mac OS X) -- Epo told me to take my old link down, but you can grab this client on MANY Hotline servers including hltracker.com. Since Epo has passed... I want to make sure people can still enjoy his work. While he constantly talked down about his client, it is still the best client native for Mac OS X. Rest in peace Epo... ~LostArch [https://github.com/tjohnman/Obsession/releases Obsession], open source and written in Qt, for Windows, Linux and macOS users. Latest update: November 2022. [https://macintoshgarden.org/apps/panorama-0 Panorama (Mac OS X PPC)] [https://pharerouge.sourceforge.net/en/index.html PhareRouge (Java)] [http://ubersoft.org/pitbullpro Pitbull Pro (Windows)] [https://macintoshgarden.org/apps/ripcord Ripcord (Mac OS 8 - 10.5.8)] [http://hp.vector.co.jp/authors/VA013465/silverwing-beos/ SilverWing (BeOS x86/PPC)] [http://capnhack.com/XCCpr2.5b.zip XCC pr2.5b], Direct Download. Test version, please report any bugs. XCC is (for now) a Mac OS X client aimed at end users and server admins. This beta version includes full AppleScript support, allowing the client to be used as a customised bot.(Edited download link to Tagban's host to avoid overloading servers of the developer). [https://macintoshgarden.org/apps/zombie Zombie (Carbonized Mac OS / Mac OS X)] === Third Party (non-Hotline) === [https://macintoshgarden.org/apps/carracho Carracho (Mac OS X PPC)] [https://macintoshgarden.org/apps/wired Wired (Mac OS X PPC)] ==Currently under development== Many Hotline users have decided over time to develop their own clients, serving particular purposes that are not available in other clients or featuring a personalized user interface. These are the clients that are being actively developed by the Hotline community: [https://github.com/mierau/hotline/releases/ Hotline (SwiftUI)] - Modern Hotline client built in SwiftUI, for macOS 14.2.1 and up. [https://macintoshgarden.org/apps/hotstuff HotStuff] - Hotline client for System Software 7.1, up to Mac OS X 10.5 "Leopard". [https://github.com/kangsterizer/phxd phxd (Python)] - Python reimplementation of hxd, with IRC integration added. Last update April 2023 [http://ubersoft.org/pitbullpro/ Pitbull Pro 3], Remake of the Original Mac version, coded by UberFoX. It can handle files over 4 GB when connected to server that handles it such as Pitbull Server (also made by UberFoX and available from the Servers pager on wiki) also Pitbull features 256bit-AES with 4096-BIT RSA encryption. 21a2e597938d05324d55ed1637a5864dbd4adc7e 101 100 2024-04-24T03:23:17Z Schala 34 No evidence that HotStuff is under active development wikitext text/x-wiki Hotline clients allow for a connection between the user and the server. They essentially provide the user with an experience, allowing them to view files and folders on the server, read the news BBS, chat and communicate with the community. Because Hotline was originally intended as a chatting P2P client, most people focused on one or the other. Hotline is a good place to find files, however it also houses a fairly large chat community, and allows you to communicate with other users. Since Hotline came prior to Facebook, BitTorrent, and Gnutella, it truely was remarkable for its time. It still exists, and you can feel free to download one of the clients below and see for yourself. == Downloads == <sub>^^ - Indicates current website no longer allows download, Need new files for download (Email them to bnetcc@gmail.com and I can host for free)</sub> === Official Clients === Hotline Connect Client - v1.9.2 ([https://preterhuman.net/download/Hotline-Client-1.9.2-Carbon.sit Carbon]), v1.2.3 ([http://preterhuman.net/download/Hotline_Client-1.2.3_68k.hqx Classic 68k], [http://preterhuman.net/download/Hotline_Client-1.2.3_PPC.hqx Classic PPC], [http://preterhuman.net/download/Hotline_Client-1.2.3_win.zip Windows]) === Derivatives (Openline) === [https://macintoshgarden.org/apps/gloarbline-197 GLoarbLine 1.9.7 (Mac OS 8.5 - 10.5.8, Windows)] adds extra account permissions and blowfish encryption for servers that support it [http://www.hyperspasm.com/underline/ Underline (Mac OS 9, Mac OS X PPC, Windows)] primarily adds optional blowfish to encrypt connections with servers that support it === Third Party (Hotline) === [https://aniclient.sourceforge.net/ AniClient (Windows)] [https://github.com/jwheare/hotline Erlang Hotline client with web UI] [http://fidelio.sourceforge.net/ Fidelio (Linux)] [https://code.google.com/archive/p/filetalk/source/default/source FileTalk (Ruby)] (Source code is available, but binaries aren't) [https://macintoshgarden.org/apps/frogblast Frogblast (Mac OS X PPC)] [http://gtkhx.sourceforge.net GtkHx (Linux)] [https://macintoshgarden.org/apps/heidrun Heidrun (Mac OS X PPC)] [https://macintoshgarden.org/apps/hotstuff HotStuff] - Hotline client for System Software 7.1, up to Mac OS X 10.5 "Leopard". [https://macintoshgarden.org/apps/htlx HTLx (Mac OS 68k / PPC)] [https://github.com/Schala/mhxd mhxd (Unix)] archival source mirror Nostalgia (Mac OS X) -- Epo told me to take my old link down, but you can grab this client on MANY Hotline servers including hltracker.com. Since Epo has passed... I want to make sure people can still enjoy his work. While he constantly talked down about his client, it is still the best client native for Mac OS X. Rest in peace Epo... ~LostArch [https://github.com/tjohnman/Obsession/releases Obsession], open source and written in Qt, for Windows, Linux and macOS users. Latest update: November 2022. [https://macintoshgarden.org/apps/panorama-0 Panorama (Mac OS X PPC)] [https://pharerouge.sourceforge.net/en/index.html PhareRouge (Java)] [http://ubersoft.org/pitbullpro Pitbull Pro (Windows)] [https://macintoshgarden.org/apps/ripcord Ripcord (Mac OS 8 - 10.5.8)] [http://hp.vector.co.jp/authors/VA013465/silverwing-beos/ SilverWing (BeOS x86/PPC)] [http://capnhack.com/XCCpr2.5b.zip XCC pr2.5b], Direct Download. Test version, please report any bugs. XCC is (for now) a Mac OS X client aimed at end users and server admins. This beta version includes full AppleScript support, allowing the client to be used as a customised bot.(Edited download link to Tagban's host to avoid overloading servers of the developer). [https://macintoshgarden.org/apps/zombie Zombie (Carbonized Mac OS / Mac OS X)] === Third Party (non-Hotline) === [https://macintoshgarden.org/apps/carracho Carracho (Mac OS X PPC)] [https://macintoshgarden.org/apps/wired Wired (Mac OS X PPC)] ==Currently under development== Many Hotline users have decided over time to develop their own clients, serving particular purposes that are not available in other clients or featuring a personalized user interface. These are the clients that are being actively developed by the Hotline community: [https://github.com/mierau/hotline/releases/ Hotline (SwiftUI)] - Modern Hotline client built in SwiftUI, for macOS 14.2.1 and up. [https://github.com/kangsterizer/phxd phxd (Python)] - Python reimplementation of hxd, with IRC integration added. Last update April 2023 [http://ubersoft.org/pitbullpro/ Pitbull Pro 3], Remake of the Original Mac version, coded by UberFoX. It can handle files over 4 GB when connected to server that handles it such as Pitbull Server (also made by UberFoX and available from the Servers pager on wiki) also Pitbull features 256bit-AES with 4096-BIT RSA encryption. cc8b94844dafc6dc2bae20604a32539931501bac 104 101 2024-04-24T04:00:14Z Schala 34 phxd isn't a client, whoops wikitext text/x-wiki Hotline clients allow for a connection between the user and the server. They essentially provide the user with an experience, allowing them to view files and folders on the server, read the news BBS, chat and communicate with the community. Because Hotline was originally intended as a chatting P2P client, most people focused on one or the other. Hotline is a good place to find files, however it also houses a fairly large chat community, and allows you to communicate with other users. Since Hotline came prior to Facebook, BitTorrent, and Gnutella, it truely was remarkable for its time. It still exists, and you can feel free to download one of the clients below and see for yourself. == Downloads == <sub>^^ - Indicates current website no longer allows download, Need new files for download (Email them to bnetcc@gmail.com and I can host for free)</sub> === Official Clients === Hotline Connect Client - v1.9.2 ([https://preterhuman.net/download/Hotline-Client-1.9.2-Carbon.sit Carbon]), v1.2.3 ([http://preterhuman.net/download/Hotline_Client-1.2.3_68k.hqx Classic 68k], [http://preterhuman.net/download/Hotline_Client-1.2.3_PPC.hqx Classic PPC], [http://preterhuman.net/download/Hotline_Client-1.2.3_win.zip Windows]) === Derivatives (Openline) === [https://macintoshgarden.org/apps/gloarbline-197 GLoarbLine 1.9.7 (Mac OS 8.5 - 10.5.8, Windows)] adds extra account permissions and blowfish encryption for servers that support it [http://www.hyperspasm.com/underline/ Underline (Mac OS 9, Mac OS X PPC, Windows)] primarily adds optional blowfish to encrypt connections with servers that support it === Third Party (Hotline) === [https://aniclient.sourceforge.net/ AniClient (Windows)] [https://github.com/jwheare/hotline Erlang Hotline client with web UI] [http://fidelio.sourceforge.net/ Fidelio (Linux)] [https://code.google.com/archive/p/filetalk/source/default/source FileTalk (Ruby)] (Source code is available, but binaries aren't) [https://macintoshgarden.org/apps/frogblast Frogblast (Mac OS X PPC)] [http://gtkhx.sourceforge.net GtkHx (Linux)] [https://macintoshgarden.org/apps/heidrun Heidrun (Mac OS X PPC)] [https://macintoshgarden.org/apps/hotstuff HotStuff] - Hotline client for System Software 7.1, up to Mac OS X 10.5 "Leopard". [https://macintoshgarden.org/apps/htlx HTLx (Mac OS 68k / PPC)] [https://github.com/Schala/mhxd mhx (Unix)] archival source mirror Nostalgia (Mac OS X) -- Epo told me to take my old link down, but you can grab this client on MANY Hotline servers including hltracker.com. Since Epo has passed... I want to make sure people can still enjoy his work. While he constantly talked down about his client, it is still the best client native for Mac OS X. Rest in peace Epo... ~LostArch [https://github.com/tjohnman/Obsession/releases Obsession], open source and written in Qt, for Windows, Linux and macOS users. Latest update: November 2022. [https://macintoshgarden.org/apps/panorama-0 Panorama (Mac OS X PPC)] [https://pharerouge.sourceforge.net/en/index.html PhareRouge (Java)] [http://ubersoft.org/pitbullpro Pitbull Pro (Windows)] [https://macintoshgarden.org/apps/ripcord Ripcord (Mac OS 8 - 10.5.8)] [http://hp.vector.co.jp/authors/VA013465/silverwing-beos/ SilverWing (BeOS x86/PPC)] [http://capnhack.com/XCCpr2.5b.zip XCC pr2.5b], Direct Download. Test version, please report any bugs. XCC is (for now) a Mac OS X client aimed at end users and server admins. This beta version includes full AppleScript support, allowing the client to be used as a customised bot.(Edited download link to Tagban's host to avoid overloading servers of the developer). [https://macintoshgarden.org/apps/zombie Zombie (Carbonized Mac OS / Mac OS X)] === Third Party (non-Hotline) === [https://macintoshgarden.org/apps/carracho Carracho (Mac OS X PPC)] [https://macintoshgarden.org/apps/wired Wired (Mac OS X PPC)] ==Currently under development== Many Hotline users have decided over time to develop their own clients, serving particular purposes that are not available in other clients or featuring a personalized user interface. These are the clients that are being actively developed by the Hotline community: [https://github.com/mierau/hotline/releases/ Hotline (SwiftUI)] - Modern Hotline client built in SwiftUI, for macOS 14.2.1 and up. [http://ubersoft.org/pitbullpro/ Pitbull Pro 3], Remake of the Original Mac version, coded by UberFoX. It can handle files over 4 GB when connected to server that handles it such as Pitbull Server (also made by UberFoX and available from the Servers pager on wiki) also Pitbull features 256bit-AES with 4096-BIT RSA encryption. a747104bf0e74e183a2af9f5e48809402f335952 110 104 2024-05-07T19:55:02Z Lostarch 1 /* Third Party (Hotline) */ wikitext text/x-wiki Hotline clients allow for a connection between the user and the server. They essentially provide the user with an experience, allowing them to view files and folders on the server, read the news BBS, chat and communicate with the community. Because Hotline was originally intended as a chatting P2P client, most people focused on one or the other. Hotline is a good place to find files, however it also houses a fairly large chat community, and allows you to communicate with other users. Since Hotline came prior to Facebook, BitTorrent, and Gnutella, it truely was remarkable for its time. It still exists, and you can feel free to download one of the clients below and see for yourself. == Downloads == <sub>^^ - Indicates current website no longer allows download, Need new files for download (Email them to bnetcc@gmail.com and I can host for free)</sub> === Official Clients === Hotline Connect Client - v1.9.2 ([https://preterhuman.net/download/Hotline-Client-1.9.2-Carbon.sit Carbon]), v1.2.3 ([http://preterhuman.net/download/Hotline_Client-1.2.3_68k.hqx Classic 68k], [http://preterhuman.net/download/Hotline_Client-1.2.3_PPC.hqx Classic PPC], [http://preterhuman.net/download/Hotline_Client-1.2.3_win.zip Windows]) === Derivatives (Openline) === [https://macintoshgarden.org/apps/gloarbline-197 GLoarbLine 1.9.7 (Mac OS 8.5 - 10.5.8, Windows)] adds extra account permissions and blowfish encryption for servers that support it [http://www.hyperspasm.com/underline/ Underline (Mac OS 9, Mac OS X PPC, Windows)] primarily adds optional blowfish to encrypt connections with servers that support it === Third Party (Hotline) === [https://aniclient.sourceforge.net/ AniClient (Windows)] [https://github.com/jwheare/hotline Erlang Hotline client with web UI] [http://fidelio.sourceforge.net/ Fidelio (Linux)] [https://code.google.com/archive/p/filetalk/source/default/source FileTalk (Ruby)] (Source code is available, but binaries aren't) [https://macintoshgarden.org/apps/frogblast Frogblast (Mac OS X PPC)] [http://gtkhx.sourceforge.net GtkHx (Linux)] [https://macintoshgarden.org/apps/heidrun Heidrun (Mac OS X PPC)] [https://macintoshgarden.org/apps/htlx HTLx (Mac OS 68k / PPC)] [https://github.com/Schala/mhxd mhx (Unix)] archival source mirror Nostalgia (Mac OS X) -- Epo told me to take my old link down, but you can grab this client on MANY Hotline servers including hltracker.com. Since Epo has passed... I want to make sure people can still enjoy his work. While he constantly talked down about his client, it is still the best client native for Mac OS X. Rest in peace Epo... ~LostArch [https://github.com/tjohnman/Obsession/releases Obsession], open source and written in Qt, for Windows, Linux and macOS users. Latest update: November 2022. [https://macintoshgarden.org/apps/panorama-0 Panorama (Mac OS X PPC)] [https://pharerouge.sourceforge.net/en/index.html PhareRouge (Java)] [http://ubersoft.org/pitbullpro Pitbull Pro (Windows)] [https://macintoshgarden.org/apps/ripcord Ripcord (Mac OS 8 - 10.5.8)] [http://hp.vector.co.jp/authors/VA013465/silverwing-beos/ SilverWing (BeOS x86/PPC)] [http://capnhack.com/XCCpr2.5b.zip XCC pr2.5b], Direct Download. Test version, please report any bugs. XCC is (for now) a Mac OS X client aimed at end users and server admins. This beta version includes full AppleScript support, allowing the client to be used as a customised bot.(Edited download link to Tagban's host to avoid overloading servers of the developer). [https://macintoshgarden.org/apps/zombie Zombie (Carbonized Mac OS / Mac OS X)] === Third Party (non-Hotline) === [https://macintoshgarden.org/apps/carracho Carracho (Mac OS X PPC)] [https://macintoshgarden.org/apps/wired Wired (Mac OS X PPC)] ==Currently under development== Many Hotline users have decided over time to develop their own clients, serving particular purposes that are not available in other clients or featuring a personalized user interface. These are the clients that are being actively developed by the Hotline community: [https://github.com/mierau/hotline/releases/ Hotline (SwiftUI)] - Modern Hotline client built in SwiftUI, for macOS 14.2.1 and up. [https://macintoshgarden.org/apps/hotstuff HotStuff] - Hotline client for System Software 7.1, up to Mac OS X 10.5 "Leopard". (active development from System7Today community Leader Knezzen) [http://ubersoft.org/pitbullpro/ Pitbull Pro 3], Remake of the Original Mac version, coded by UberFoX. It can handle files over 4 GB when connected to server that handles it such as Pitbull Server (also made by UberFoX and available from the Servers pager on wiki) also Pitbull features 256bit-AES with 4096-BIT RSA encryption. 19fb2d43c08f8f5acf0598f1c4fdea213d01f1c3 112 110 2024-07-23T21:00:08Z 185.198.50.159 0 Obsession latest update month. wikitext text/x-wiki Hotline clients allow for a connection between the user and the server. They essentially provide the user with an experience, allowing them to view files and folders on the server, read the news BBS, chat and communicate with the community. Because Hotline was originally intended as a chatting P2P client, most people focused on one or the other. Hotline is a good place to find files, however it also houses a fairly large chat community, and allows you to communicate with other users. Since Hotline came prior to Facebook, BitTorrent, and Gnutella, it truely was remarkable for its time. It still exists, and you can feel free to download one of the clients below and see for yourself. == Downloads == <sub>^^ - Indicates current website no longer allows download, Need new files for download (Email them to bnetcc@gmail.com and I can host for free)</sub> === Official Clients === Hotline Connect Client - v1.9.2 ([https://preterhuman.net/download/Hotline-Client-1.9.2-Carbon.sit Carbon]), v1.2.3 ([http://preterhuman.net/download/Hotline_Client-1.2.3_68k.hqx Classic 68k], [http://preterhuman.net/download/Hotline_Client-1.2.3_PPC.hqx Classic PPC], [http://preterhuman.net/download/Hotline_Client-1.2.3_win.zip Windows]) === Derivatives (Openline) === [https://macintoshgarden.org/apps/gloarbline-197 GLoarbLine 1.9.7 (Mac OS 8.5 - 10.5.8, Windows)] adds extra account permissions and blowfish encryption for servers that support it [http://www.hyperspasm.com/underline/ Underline (Mac OS 9, Mac OS X PPC, Windows)] primarily adds optional blowfish to encrypt connections with servers that support it === Third Party (Hotline) === [https://aniclient.sourceforge.net/ AniClient (Windows)] [https://github.com/jwheare/hotline Erlang Hotline client with web UI] [http://fidelio.sourceforge.net/ Fidelio (Linux)] [https://code.google.com/archive/p/filetalk/source/default/source FileTalk (Ruby)] (Source code is available, but binaries aren't) [https://macintoshgarden.org/apps/frogblast Frogblast (Mac OS X PPC)] [http://gtkhx.sourceforge.net GtkHx (Linux)] [https://macintoshgarden.org/apps/heidrun Heidrun (Mac OS X PPC)] [https://macintoshgarden.org/apps/htlx HTLx (Mac OS 68k / PPC)] [https://github.com/Schala/mhxd mhx (Unix)] archival source mirror Nostalgia (Mac OS X) -- Epo told me to take my old link down, but you can grab this client on MANY Hotline servers including hltracker.com. Since Epo has passed... I want to make sure people can still enjoy his work. While he constantly talked down about his client, it is still the best client native for Mac OS X. Rest in peace Epo... ~LostArch [https://github.com/tjohnman/Obsession/releases Obsession], open source and written in Qt, for Windows, Linux and macOS users. Latest update: July 2024. [https://macintoshgarden.org/apps/panorama-0 Panorama (Mac OS X PPC)] [https://pharerouge.sourceforge.net/en/index.html PhareRouge (Java)] [http://ubersoft.org/pitbullpro Pitbull Pro (Windows)] [https://macintoshgarden.org/apps/ripcord Ripcord (Mac OS 8 - 10.5.8)] [http://hp.vector.co.jp/authors/VA013465/silverwing-beos/ SilverWing (BeOS x86/PPC)] [http://capnhack.com/XCCpr2.5b.zip XCC pr2.5b], Direct Download. Test version, please report any bugs. XCC is (for now) a Mac OS X client aimed at end users and server admins. This beta version includes full AppleScript support, allowing the client to be used as a customised bot.(Edited download link to Tagban's host to avoid overloading servers of the developer). [https://macintoshgarden.org/apps/zombie Zombie (Carbonized Mac OS / Mac OS X)] === Third Party (non-Hotline) === [https://macintoshgarden.org/apps/carracho Carracho (Mac OS X PPC)] [https://macintoshgarden.org/apps/wired Wired (Mac OS X PPC)] ==Currently under development== Many Hotline users have decided over time to develop their own clients, serving particular purposes that are not available in other clients or featuring a personalized user interface. These are the clients that are being actively developed by the Hotline community: [https://github.com/mierau/hotline/releases/ Hotline (SwiftUI)] - Modern Hotline client built in SwiftUI, for macOS 14.2.1 and up. [https://macintoshgarden.org/apps/hotstuff HotStuff] - Hotline client for System Software 7.1, up to Mac OS X 10.5 "Leopard". (active development from System7Today community Leader Knezzen) [http://ubersoft.org/pitbullpro/ Pitbull Pro 3], Remake of the Original Mac version, coded by UberFoX. It can handle files over 4 GB when connected to server that handles it such as Pitbull Server (also made by UberFoX and available from the Servers pager on wiki) also Pitbull features 256bit-AES with 4096-BIT RSA encryption. c228962a56532d059d6ecb5edc4c16d69764eed6 Servers 0 35 89 38 2024-01-07T19:45:31Z 2601:98D:C180:CB99:9CB9:447C:E28:42AA 0 /* Outstanding Servers */ wikitext text/x-wiki {{Template:AddServers}} ==Outstanding Servers== *hlserver.com -- Welcome to the return of an era... *hl.stickytack.com -- (also lsd25.dyndns.org -- Digital Obsession's old server. *hl.preterhuman.net -- Higher Intellect, a server for old/antique software for a variety of platforms *hl.udogs.net -- For Myth fans and developers alike. * hotline.ubersoft.org -- Official server of Pitbull Pro and Sputnik development also provides a load of files and rare Mac OS9 68/PPC apps/games * badmoon.biz -- Badmoon -- Home of the Badmoon Tracker * agency.agent79.org -- The Agency -- Random stuff, neat though. * hotline.duckdns.org -- Test Pattern 6 -- Testing patterns n shit so you don't have to. * Amadeus -amadues.agent79.org - Very old server, Ran by good friends. * Nederland.serverthuis.nl - official site and tracker and server guest = ON (this server is not responding, last check 2023-04-30) ==Server Software== <u>'''Official'''</u> *Hotline Connect Server - v1.2.3 ([http://preterhuman.net/download/HotlineServer1.2.368K.sit.hqx Mac Classic 68k], [http://preterhuman.net/download/Hotline_Server-1.2.3_PPC.hqx Mac Classic PPC], [http://preterhuman.net/download/Hotline_Server-1.2.3_win.zip Windows]) *Hotline FTP Server ([http://preterhuman.net/download/HotlineFTPServ1.0PPC.sit.hqx Mac Classic PPC], [http://preterhuman.net/download/FTPServPC.zip Windows]) <u>'''Derivatives'''</u> *[http://lorbac.net/ GLoarbLine Server (Mac OS X PPC, Windows)] <u>'''Clones'''</u> *[http://preterhuman.net/download/mhxd-0.4.10.tar.bz2 hxd (Unix)] *[https://bitbucket.org/avaraline/phxd phxd (Python)] *[http://code.google.com/p/phxd/ phxd (Unix)] *[https://github.com/UberFoX/Javaline Javaline Server] (Multiplatform Mac, WIndows, Unix) made in Java can be downloaded from the UberSoft hotline server at hotline.ubersoft.org (requires JRE 8+) the link is to the source code and compiled java bin since the Source Code to Javaline was released March 2021 if anybody wants to take over it make sure to head over to the official Pitbull Pro development server so you can add compatibility and what not with Pitbull Pro (if you so wish to) * [http://ubersoft.org/pitbullserver/ Pitbull Server] - (Windows) * Dinobull Server - (Windows) Adds Discord Relay support * [http://github.com/jhalter/mobius Mobius] - Multiplatform command line server and client implemented in Golang e52a5ae56e0bb101863ce2db655402bed17b4b72 91 89 2024-01-08T21:33:25Z Lostarch 1 Reverted edits by [[Special:Contributions/2601:98D:C180:CB99:9CB9:447C:E28:42AA|2601:98D:C180:CB99:9CB9:447C:E28:42AA]] ([[User talk:2601:98D:C180:CB99:9CB9:447C:E28:42AA|talk]]) to last revision by [[User:Lostarch|Lostarch]] wikitext text/x-wiki {{Template:AddServers}} ==Outstanding Servers== *hltracker.com -- Official  Hotline Tracker - Home of HLTracker.com *hl.stickytack.com -- (also lsd25.dyndns.org -- Digital Obsession's old server. *hl.preterhuman.net -- Higher Intellect, a server for old/antique software for a variety of platforms *hl.udogs.net -- For Myth fans and developers alike. * hotline.ubersoft.org -- Official server of Pitbull Pro and Sputnik development also provides a load of files and rare Mac OS9 68/PPC apps/games * badmoon.biz -- Badmoon -- Home of the Badmoon Tracker * agency.agent79.org -- The Agency -- Random stuff, neat though. * hotline.duckdns.org -- Test Pattern 6 -- Testing patterns n shit so you don't have to. * Amadeus -amadues.agent79.org - Very old server, Ran by good friends. * Nederland.serverthuis.nl - official site and tracker and server guest = ON (this server is not responding, last check 2023-04-30) ==Server Software== <u>'''Official'''</u> *Hotline Connect Server - v1.2.3 ([http://preterhuman.net/download/HotlineServer1.2.368K.sit.hqx Mac Classic 68k], [http://preterhuman.net/download/Hotline_Server-1.2.3_PPC.hqx Mac Classic PPC], [http://preterhuman.net/download/Hotline_Server-1.2.3_win.zip Windows]) *Hotline FTP Server ([http://preterhuman.net/download/HotlineFTPServ1.0PPC.sit.hqx Mac Classic PPC], [http://preterhuman.net/download/FTPServPC.zip Windows]) <u>'''Derivatives'''</u> *[http://lorbac.net/ GLoarbLine Server (Mac OS X PPC, Windows)] <u>'''Clones'''</u> *[http://preterhuman.net/download/mhxd-0.4.10.tar.bz2 hxd (Unix)] *[https://bitbucket.org/avaraline/phxd phxd (Python)] *[http://code.google.com/p/phxd/ phxd (Unix)] *[https://github.com/UberFoX/Javaline Javaline Server] (Multiplatform Mac, WIndows, Unix) made in Java can be downloaded from the UberSoft hotline server at hotline.ubersoft.org (requires JRE 8+) the link is to the source code and compiled java bin since the Source Code to Javaline was released March 2021 if anybody wants to take over it make sure to head over to the official Pitbull Pro development server so you can add compatibility and what not with Pitbull Pro (if you so wish to) * [http://ubersoft.org/pitbullserver/ Pitbull Server] - (Windows) * Dinobull Server - (Windows) Adds Discord Relay support * [http://github.com/jhalter/mobius Mobius] - Multiplatform command line server and client implemented in Golang 5416ab58a0b2d5338440ac1a11273936b1cef149 92 91 2024-01-08T21:33:46Z Lostarch 1 Reverted edits by [[Special:Contributions/Lostarch|Lostarch]] ([[User talk:Lostarch|talk]]) to last revision by [[User:2601:98D:C180:CB99:9CB9:447C:E28:42AA|2601:98D:C180:CB99:9CB9:447C:E28:42AA]] wikitext text/x-wiki {{Template:AddServers}} ==Outstanding Servers== *hlserver.com -- Welcome to the return of an era... *hl.stickytack.com -- (also lsd25.dyndns.org -- Digital Obsession's old server. *hl.preterhuman.net -- Higher Intellect, a server for old/antique software for a variety of platforms *hl.udogs.net -- For Myth fans and developers alike. * hotline.ubersoft.org -- Official server of Pitbull Pro and Sputnik development also provides a load of files and rare Mac OS9 68/PPC apps/games * badmoon.biz -- Badmoon -- Home of the Badmoon Tracker * agency.agent79.org -- The Agency -- Random stuff, neat though. * hotline.duckdns.org -- Test Pattern 6 -- Testing patterns n shit so you don't have to. * Amadeus -amadues.agent79.org - Very old server, Ran by good friends. * Nederland.serverthuis.nl - official site and tracker and server guest = ON (this server is not responding, last check 2023-04-30) ==Server Software== <u>'''Official'''</u> *Hotline Connect Server - v1.2.3 ([http://preterhuman.net/download/HotlineServer1.2.368K.sit.hqx Mac Classic 68k], [http://preterhuman.net/download/Hotline_Server-1.2.3_PPC.hqx Mac Classic PPC], [http://preterhuman.net/download/Hotline_Server-1.2.3_win.zip Windows]) *Hotline FTP Server ([http://preterhuman.net/download/HotlineFTPServ1.0PPC.sit.hqx Mac Classic PPC], [http://preterhuman.net/download/FTPServPC.zip Windows]) <u>'''Derivatives'''</u> *[http://lorbac.net/ GLoarbLine Server (Mac OS X PPC, Windows)] <u>'''Clones'''</u> *[http://preterhuman.net/download/mhxd-0.4.10.tar.bz2 hxd (Unix)] *[https://bitbucket.org/avaraline/phxd phxd (Python)] *[http://code.google.com/p/phxd/ phxd (Unix)] *[https://github.com/UberFoX/Javaline Javaline Server] (Multiplatform Mac, WIndows, Unix) made in Java can be downloaded from the UberSoft hotline server at hotline.ubersoft.org (requires JRE 8+) the link is to the source code and compiled java bin since the Source Code to Javaline was released March 2021 if anybody wants to take over it make sure to head over to the official Pitbull Pro development server so you can add compatibility and what not with Pitbull Pro (if you so wish to) * [http://ubersoft.org/pitbullserver/ Pitbull Server] - (Windows) * Dinobull Server - (Windows) Adds Discord Relay support * [http://github.com/jhalter/mobius Mobius] - Multiplatform command line server and client implemented in Golang e52a5ae56e0bb101863ce2db655402bed17b4b72 106 92 2024-04-27T00:10:39Z Schala 34 alphabetised wikitext text/x-wiki {{Template:AddServers}} ==Outstanding Servers== *hlserver.com -- Welcome to the return of an era... *agency.agent79.org -- The Agency -- Random stuff, neat though. *Amadeus -amadues.agent79.org - Very old server, Ran by good friends. *badmoon.biz -- Badmoon -- Home of the Badmoon Tracker *hl.preterhuman.net -- Higher Intellect, a server for old/antique software for a variety of platforms *hl.stickytack.com -- (also lsd25.dyndns.org -- Digital Obsession's old server. *hl.udogs.net -- For Myth fans and developers alike. *hotline.duckdns.org -- Test Pattern 6 -- Testing patterns n shit so you don't have to. *hotline.ubersoft.org -- Official server of Pitbull Pro and Sputnik development also provides a load of files and rare Mac OS9 68/PPC apps/games *Nederland.serverthuis.nl - official site and tracker and server guest = ON (this server is not responding, last check 2023-04-30) ==Server Software== <u>'''Official'''</u> *Hotline Connect Server - v1.2.3 ([http://preterhuman.net/download/HotlineServer1.2.368K.sit.hqx Mac Classic 68k], [http://preterhuman.net/download/Hotline_Server-1.2.3_PPC.hqx Mac Classic PPC], [http://preterhuman.net/download/Hotline_Server-1.2.3_win.zip Windows]) *Hotline FTP Server ([http://preterhuman.net/download/HotlineFTPServ1.0PPC.sit.hqx Mac Classic PPC], [http://preterhuman.net/download/FTPServPC.zip Windows]) <u>'''Derivatives'''</u> *[http://lorbac.net/ GLoarbLine Server (Mac OS X PPC, Windows)] <u>'''Clones'''</u> *[http://preterhuman.net/download/mhxd-0.4.10.tar.bz2 hxd (Unix)] *[https://bitbucket.org/avaraline/phxd phxd (Python)] *[http://code.google.com/p/phxd/ phxd (Unix)] *[https://github.com/UberFoX/Javaline Javaline Server] (Multiplatform Mac, WIndows, Unix) made in Java can be downloaded from the UberSoft hotline server at hotline.ubersoft.org (requires JRE 8+) the link is to the source code and compiled java bin since the Source Code to Javaline was released March 2021 if anybody wants to take over it make sure to head over to the official Pitbull Pro development server so you can add compatibility and what not with Pitbull Pro (if you so wish to) * [http://ubersoft.org/pitbullserver/ Pitbull Server] - (Windows) * Dinobull Server - (Windows) Adds Discord Relay support * [http://github.com/jhalter/mobius Mobius] - Multiplatform command line server and client implemented in Golang 4ccd0199dfa21d3e72e031f0ab10783b8f3b7d15 107 106 2024-04-27T00:12:51Z Schala 34 wikitext text/x-wiki {{Template:AddServers}} ==Outstanding Servers== *hlserver.com -- Welcome to the return of an era... *agency.agent79.org -- The Agency -- Random stuff, neat though. *Amadeus -amadues.agent79.org - Very old server, Ran by good friends. *badmoon.biz -- Badmoon -- Home of the Badmoon Tracker *hl.preterhuman.net -- Higher Intellect, a server for old/antique software for a variety of platforms *hl.stickytack.com -- (also lsd25.dyndns.org -- Digital Obsession's old server. *hl.udogs.net -- For Myth fans and developers alike. *hotline.duckdns.org -- Test Pattern 6 -- Testing patterns n shit so you don't have to. *hotline.ubersoft.org -- Official server of Pitbull Pro and Sputnik development also provides a load of files and rare Mac OS9 68/PPC apps/games *Nederland.serverthuis.nl - official site and tracker and server guest = ON (this server is not responding, last check 2023-04-30) ==Server Software== <u>'''Official'''</u> *Hotline Connect Server - v1.2.3 ([http://preterhuman.net/download/HotlineServer1.2.368K.sit.hqx Mac Classic 68k], [http://preterhuman.net/download/Hotline_Server-1.2.3_PPC.hqx Mac Classic PPC], [http://preterhuman.net/download/Hotline_Server-1.2.3_win.zip Windows]) *Hotline FTP Server ([http://preterhuman.net/download/HotlineFTPServ1.0PPC.sit.hqx Mac Classic PPC], [http://preterhuman.net/download/FTPServPC.zip Windows]) <u>'''Derivatives'''</u> *[http://lorbac.net/ GLoarbLine Server (Mac OS X PPC and Carbon, Windows)] <u>'''Third party'''</u> *Dinobull Server - (Windows) Adds Discord Relay support *[https://github.com/UberFoX/Javaline Javaline Server] (Multiplatform Mac, WIndows, Unix) made in Java can be downloaded from the UberSoft hotline server at hotline.ubersoft.org (requires JRE 8+) the link is to the source code and compiled java bin since the Source Code to Javaline was released March 2021 if anybody wants to take over it make sure to head over to the official Pitbull Pro development server so you can add compatibility and what not with Pitbull Pro (if you so wish to) *[http://preterhuman.net/download/mhxd-0.4.10.tar.bz2 mhxd (Unix)] *[http://github.com/jhalter/mobius Mobius] - Multiplatform command line server and client implemented in Golang *[https://bitbucket.org/avaraline/phxd phxd (Python)] *[http://code.google.com/p/phxd/ phxd (Unix)] *[http://ubersoft.org/pitbullserver/ Pitbull Server] - (Windows) 33772b63bedc6af074a71418a256b2f5b86e3ac9 108 107 2024-04-27T00:14:22Z Schala 34 Javaline link is 404 wikitext text/x-wiki {{Template:AddServers}} ==Outstanding Servers== *hlserver.com -- Welcome to the return of an era... *agency.agent79.org -- The Agency -- Random stuff, neat though. *Amadeus -amadues.agent79.org - Very old server, Ran by good friends. *badmoon.biz -- Badmoon -- Home of the Badmoon Tracker *hl.preterhuman.net -- Higher Intellect, a server for old/antique software for a variety of platforms *hl.stickytack.com -- (also lsd25.dyndns.org -- Digital Obsession's old server. *hl.udogs.net -- For Myth fans and developers alike. *hotline.duckdns.org -- Test Pattern 6 -- Testing patterns n shit so you don't have to. *hotline.ubersoft.org -- Official server of Pitbull Pro and Sputnik development also provides a load of files and rare Mac OS9 68/PPC apps/games *Nederland.serverthuis.nl - official site and tracker and server guest = ON (this server is not responding, last check 2023-04-30) ==Server Software== <u>'''Official'''</u> *Hotline Connect Server - v1.2.3 ([http://preterhuman.net/download/HotlineServer1.2.368K.sit.hqx Mac Classic 68k], [http://preterhuman.net/download/Hotline_Server-1.2.3_PPC.hqx Mac Classic PPC], [http://preterhuman.net/download/Hotline_Server-1.2.3_win.zip Windows]) *Hotline FTP Server ([http://preterhuman.net/download/HotlineFTPServ1.0PPC.sit.hqx Mac Classic PPC], [http://preterhuman.net/download/FTPServPC.zip Windows]) <u>'''Derivatives'''</u> *[http://lorbac.net/ GLoarbLine Server (Mac OS X PPC and Carbon, Windows)] <u>'''Third party'''</u> *Dinobull Server - (Windows) Adds Discord Relay support *Javaline Server (Multiplatform Mac, WIndows, Unix) made in Java can be downloaded from the UberSoft hotline server at hotline.ubersoft.org (requires JRE 8+) the link is to the source code and compiled java bin since the Source Code to Javaline was released March 2021 if anybody wants to take over it make sure to head over to the official Pitbull Pro development server so you can add compatibility and what not with Pitbull Pro (if you so wish to) *[http://preterhuman.net/download/mhxd-0.4.10.tar.bz2 mhxd (Unix)] *[http://github.com/jhalter/mobius Mobius] - Multiplatform command line server and client implemented in Golang *[https://bitbucket.org/avaraline/phxd phxd (Python)] *[http://code.google.com/p/phxd/ phxd (Unix)] *[http://ubersoft.org/pitbullserver/ Pitbull Server] - (Windows) 5b34ff266519377688c1bc0aa4750e8ba8e95321 109 108 2024-04-27T00:15:15Z Schala 34 lorbac.net errors now wikitext text/x-wiki {{Template:AddServers}} ==Outstanding Servers== *hlserver.com -- Welcome to the return of an era... *agency.agent79.org -- The Agency -- Random stuff, neat though. *Amadeus -amadues.agent79.org - Very old server, Ran by good friends. *badmoon.biz -- Badmoon -- Home of the Badmoon Tracker *hl.preterhuman.net -- Higher Intellect, a server for old/antique software for a variety of platforms *hl.stickytack.com -- (also lsd25.dyndns.org -- Digital Obsession's old server. *hl.udogs.net -- For Myth fans and developers alike. *hotline.duckdns.org -- Test Pattern 6 -- Testing patterns n shit so you don't have to. *hotline.ubersoft.org -- Official server of Pitbull Pro and Sputnik development also provides a load of files and rare Mac OS9 68/PPC apps/games *Nederland.serverthuis.nl - official site and tracker and server guest = ON (this server is not responding, last check 2023-04-30) ==Server Software== <u>'''Official'''</u> *Hotline Connect Server - v1.2.3 ([http://preterhuman.net/download/HotlineServer1.2.368K.sit.hqx Mac Classic 68k], [http://preterhuman.net/download/Hotline_Server-1.2.3_PPC.hqx Mac Classic PPC], [http://preterhuman.net/download/Hotline_Server-1.2.3_win.zip Windows]) *Hotline FTP Server ([http://preterhuman.net/download/HotlineFTPServ1.0PPC.sit.hqx Mac Classic PPC], [http://preterhuman.net/download/FTPServPC.zip Windows]) <u>'''Derivatives'''</u> *GLoarbLine Server (Mac OS X PPC and Carbon, Windows) <u>'''Third party'''</u> *Dinobull Server - (Windows) Adds Discord Relay support *Javaline Server (Multiplatform Mac, WIndows, Unix) made in Java can be downloaded from the UberSoft hotline server at hotline.ubersoft.org (requires JRE 8+) the link is to the source code and compiled java bin since the Source Code to Javaline was released March 2021 if anybody wants to take over it make sure to head over to the official Pitbull Pro development server so you can add compatibility and what not with Pitbull Pro (if you so wish to) *[http://preterhuman.net/download/mhxd-0.4.10.tar.bz2 mhxd (Unix)] *[http://github.com/jhalter/mobius Mobius] - Multiplatform command line server and client implemented in Golang *[https://bitbucket.org/avaraline/phxd phxd (Python)] *[http://code.google.com/p/phxd/ phxd (Unix)] *[http://ubersoft.org/pitbullserver/ Pitbull Server] - (Windows) fbe51c906f00acc6100e556972ab7a0abcc44188 HLCafe 0 58 90 2024-01-08T21:22:20Z Lostarch 1 Created page with "Future Home of Hotline Cafe!" wikitext text/x-wiki Future Home of Hotline Cafe! 6d7593d9d27c052ac00e67989c955616748a11ac Trackers 0 34 102 65 2024-04-24T03:28:01Z Schala 34 alphabetised wikitext text/x-wiki Trackers are applications that register and list servers so that they can be found by Hotline clients. ==Active Trackers== '''Private Trackers''': ''(These require a password to have your server listed in them, but are visible and usable from any Hotline client)'' *As of right now, no private trackers exist anymore. '''Public Trackers''':'' (Add these to your sever to allow it to be found by clients)'' *hltracker.com - The main/original tracker, now hosted by the users - No pass required anymore! *badmoon.biz *hotline.duckdns.org *hotline.jpn.ph *hotline.ubersoft.org (The official tracker hosted and used by the developers of Pitbull/JavaLine client/server/tracker software) *nederland.serverthuis.nl - Open tracker for every body *redlightdistrict.dyndns.org *tracked.agent79.org *tracked.ath.cx *tracked.nailbat.com *tracker.preterhuman.net ==Tracker Software== <u>'''Official'''</u> *Hotline Tracker - v1.1 ([http://preterhuman.net/download/HotlineTracker1.168K.sit.hqx Mac Classic 68k], [http://preterhuman.net/download/HotlineTracker1.1PPC.sit.hqx Mac Classic PPC]), v1.0 ([http://preterhuman.net/download/HotlineTracker1.0.zip Windows]) <u>'''Clones'''</u> *[http://codebox.org.uk/pages/hltracker Codebox HLTracker (Windows)] *[http://preterhuman.net/download/mhxd-0.4.10.tar.bz2 hxtrackd (Unix)] *[http://hotline.ubersoft.org/pitbulltracker/ Pitbull Tracker] *[http://synhxd.sourceforge.net shxtrackd (Unix)] a9bbd7e3cc862b71c1b38fd5f77110616c0ea008 User:Schala 2 59 103 2024-04-24T03:34:46Z Schala 34 Created page with "My name is Schala. My dad introduced me to Hotline in the summer of 2000 at the cusp of age 13, and I've been an on/off user ever since. I've got 20+ years experience in coding and I feel the Hotline protocol is a great foundation for practicing network programming and building upon it. Fun fact: one of my first friends I met on the Hotline Communications Ltd. server was named Magus. I hope you get the connection I'm also a vtuber!" wikitext text/x-wiki My name is Schala. My dad introduced me to Hotline in the summer of 2000 at the cusp of age 13, and I've been an on/off user ever since. I've got 20+ years experience in coding and I feel the Hotline protocol is a great foundation for practicing network programming and building upon it. Fun fact: one of my first friends I met on the Hotline Communications Ltd. server was named Magus. I hope you get the connection I'm also a vtuber! ac5a957cdbe2a1a3a224ce9dca3b13aff1d1e27f Talk:Main Page 1 60 105 2024-04-24T23:38:14Z Schala 34 Created page with "The Discord link on the sidebar is invalid - ~~~~" wikitext text/x-wiki The Discord link on the sidebar is invalid - [[User:Schala|Schala]] ([[User talk:Schala|talk]]) 23:38, 24 April 2024 (UTC) f7a8e7c6063e181ba19c272792a2282d0648bd2a